diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2022-12-13 00:11:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-13 00:11:17 +0200 |
commit | 89100cee64d41591b602d6f61980f21c278e6851 (patch) | |
tree | 8f513fdd35b9de9a9e6ab64b7e110c05cf0fb8f6 | |
parent | 1b2a8c822bb518195f3092bbd8176309560f9246 (diff) | |
parent | 32da48397ed1a7df3d514d62ca7ac2a4d31b9078 (diff) | |
download | vyos-1x-89100cee64d41591b602d6f61980f21c278e6851.tar.gz vyos-1x-89100cee64d41591b602d6f61980f21c278e6851.zip |
Merge pull request #1704 from aapostoliuk/T4874-equuleus
T4874: Added Warning message
-rw-r--r-- | python/vyos/base.py | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/python/vyos/base.py b/python/vyos/base.py index fd22eaccd..9b93cb2f2 100644 --- a/python/vyos/base.py +++ b/python/vyos/base.py @@ -1,4 +1,4 @@ -# Copyright 2018-2021 VyOS maintainers and contributors <maintainers@vyos.io> +# Copyright 2018-2022 VyOS maintainers and contributors <maintainers@vyos.io> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -15,11 +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, **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): |