diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/base.py | 44 | 
1 files changed, 37 insertions, 7 deletions
| diff --git a/python/vyos/base.py b/python/vyos/base.py index 78067d5b2..9b93cb2f2 100644 --- a/python/vyos/base.py +++ b/python/vyos/base.py @@ -15,17 +15,47 @@  from textwrap import fill + +class BaseWarning: +    def __init__(self, header, message, **kwargs): +        self.message = message +        self.kwargs = kwargs +        if 'width' not in kwargs: +            self.width = 72 +        if 'initial_indent' in kwargs: +            del self.kwargs['initial_indent'] +        if 'subsequent_indent' in kwargs: +            del self.kwargs['subsequent_indent'] +        self.textinitindent = header +        self.standardindent = '' + +    def print(self): +        messages = self.message.split('\n') +        isfirstmessage = True +        initial_indent = self.textinitindent +        print('') +        for mes in messages: +            mes = fill(mes, initial_indent=initial_indent, +                       subsequent_indent=self.standardindent, **self.kwargs) +            if isfirstmessage: +                isfirstmessage = False +                initial_indent = self.standardindent +            print(f'{mes}') +        print('') + +  class Warning(): -    def __init__(self, message): -        # Reformat the message and trim it to 72 characters in length -        message = fill(message, width=72) -        print(f'\nWARNING: {message}') +    def __init__(self, message, **kwargs): +        self.BaseWarn = BaseWarning('WARNING: ', message, **kwargs) +        self.BaseWarn.print() +  class DeprecationWarning(): -    def __init__(self, message): +    def __init__(self, message, **kwargs):          # Reformat the message and trim it to 72 characters in length -        message = fill(message, width=72) -        print(f'\nDEPRECATION WARNING: {message}\n') +        self.BaseWarn = BaseWarning('DEPRECATION WARNING: ', message, **kwargs) +        self.BaseWarn.print() +  class ConfigError(Exception):      def __init__(self, message): | 
