OMG a ridiculous commit to overhaul import handler config etc.

- register all import/export handlers via setup.py and config
- use "handler key" lookup for all import/export commands
- fix logic bugs w/ CORE -> Trainwreck importer
This commit is contained in:
Lance Edgar 2021-12-06 20:07:42 -06:00
parent 0e28a6ee2b
commit 3140245857
9 changed files with 122 additions and 97 deletions

View file

@ -60,18 +60,9 @@ class ExportLaneOp(commands.ImportSubcommand):
"""
name = 'export-lane-op'
description = __doc__.strip()
default_handler_spec = 'rattail_corepos.corepos.lane.importing.op.office:FromCoreOfficeToCoreLane'
handler_key = 'to_corepos_db_lane_op.from_corepos_db_office_op.export'
default_dbkey = 'default'
def get_handler_factory(self, **kwargs):
if self.config:
spec = self.config.get('corepos.lane.importing', 'office.handler',
default=self.default_handler_spec)
else:
# just use default, for sake of cmd line help
spec = self.default_handler_spec
return load_object(spec)
def add_parser_args(self, parser):
super(ExportLaneOp, self).add_parser_args(parser)
parser.add_argument('--dbkey', metavar='KEY', default=self.default_dbkey,