On Fri, Apr 21, 2017 at 02:11:45PM +0200, Andreas J. Reichel wrote: > To increase code maintainability, use dictionaries > as enum-like container for parameter string comparisons. > > Signed-off-by: Andreas Reichel <andreas.reichel....@siemens.com> > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > Signed-off-by: Daniel Wagner <daniel.wag...@siemens.com> > > --- > scripts/lib/wic/engine.py | 16 +++++++++++++--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py > index 647358287f..1428a73ba8 100644 > --- a/scripts/lib/wic/engine.py > +++ b/scripts/lib/wic/engine.py > @@ -35,6 +35,16 @@ from wic import WicError > from wic.pluginbase import PluginMgr > from wic.utils.misc import get_bitbake_var > > +class StrEnum(dict): > + __getattr__ = dict.get > + > +ListType = StrEnum({ > + 'LIST_IMAGES': "images", > + 'LIST_SRC_PLUGINS': "source-plugins" }) > + > +HelpArg = StrEnum({ > + 'HELP': "help" }) > + > logger = logging.getLogger('wic') > > def verify_build_env(): > @@ -204,14 +214,14 @@ def wic_list(args, scripts_path): > if args.list_type is None: > return False > > - if args.list_type == "images": > + if args.list_type == ListType.LIST_IMAGES: > > list_canned_images(scripts_path) > return True > - elif args.list_type == "source-plugins": > + elif args.list_type == ListType.LIST_SRC_PLUGINS: > list_source_plugins() > return True > - elif len(args.help_for) == 1 and args.help_for[0] == 'help': > + elif len(args.help_for) == 1 and args.help_for[0] == HelpArg.HELP: > wks_file = args.list_type > fullpath = find_canned_image(scripts_path, wks_file) > if not fullpath:
I'm not sure if this increases maintainability, but it definitely increases code complexity and decreases readability. Can you explain the idea in a bit more detailed way? -- Regards, Ed -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core