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

@ -63,6 +63,88 @@ class RattailCOREPOSExtension(ConfigExtension):
config.core_lane_op_engine = engines.get('default')
Session.configure(bind=config.core_lane_op_engine)
# rattail corepos-import-square
config.setdefault('rattail.importing', 'to_corepos_db_office_trans.from_square_csv.import.default_handler',
'rattail_corepos.corepos.importing.db.square:FromSquareToCoreTrans')
config.setdefault('rattail.importing', 'to_corepos_db_office_trans.from_square_csv.import.default_cmd',
'rattail corepos-import-square')
# TODO: there was not a legacy setting in place for this one
# config.setdefault('rattail.importing', 'to_corepos_db_office_trans.from_square_csv.import.legacy_handler_setting',
# 'corepos.importing, square.handler')
# rattail export-corepos
config.setdefault('rattail.importing', 'to_corepos_api.from_rattail.export.default_handler',
'rattail_corepos.corepos.importing.rattail:FromRattailToCore')
config.setdefault('rattail.importing', 'to_corepos_api.from_rattail.export.default_cmd',
'rattail export-corepos')
config.setdefault('rattail.importing', 'to_corepos_api.from_rattail.export.legacy_handler_setting',
'rattail.exporting, corepos.handler')
# rattail import-corepos-api
config.setdefault('rattail.importing', 'to_rattail.from_corepos_api.import.default_handler',
'rattail_corepos.importing.corepos.api:FromCOREPOSToRattail')
config.setdefault('rattail.importing', 'to_rattail.from_corepos_api.import.default_cmd',
'rattail import-corepos-api')
config.setdefault('rattail.importing', 'to_rattail.from_corepos_api.import.legacy_handler_setting',
'rattail.importing, corepos_api.handler')
# rattail import-corepos-db
config.setdefault('rattail.importing', 'to_rattail.from_corepos_db_office_op.import.default_handler',
'rattail_corepos.importing.corepos.db:FromCOREPOSToRattail')
config.setdefault('rattail.importing', 'to_rattail.from_corepos_db_office_op.import.default_cmd',
'rattail import-corepos-db')
config.setdefault('rattail.importing', 'to_rattail.from_corepos_db_office_op.import.legacy_handler_setting',
'rattail.importing, corepos.handler')
# trainwreck import-corepos
config.setdefault('rattail.importing', 'to_trainwreck.from_corepos_db_office_trans.import.default_handler',
'rattail_corepos.trainwreck.importing.corepos:FromCoreToTrainwreck')
config.setdefault('rattail.importing', 'to_trainwreck.from_corepos_db_office_trans.import.default_cmd',
'trainwreck import-corepos')
# TODO: there was not a legacy setting in place for this one
# config.setdefault('rattail.importing', 'to_trainwreck.from_corepos_db_office_trans.import.legacy_handler_setting',
# 'trainwreck.importing, corepos.handler')
# core-office export-lane-op
config.setdefault('rattail.importing', 'to_corepos_db_lane_op.from_corepos_db_office_op.export.default_handler',
'rattail_corepos.corepos.lane.importing.op.office:FromCoreOfficeToCoreLane')
config.setdefault('rattail.importing', 'to_corepos_db_lane_op.from_corepos_db_office_op.export.default_cmd',
'core-office export-lane-op')
config.setdefault('rattail.importing', 'to_corepos_db_lane_op.from_corepos_db_office_op.export.legacy_setting',
'corepos.lane.importing, office.handler')
# crepes export-core
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_corepos_db_office_op.export.default_handler',
'rattail_corepos.corepos.importing.db.corepos:FromCoreToCoreExport')
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_corepos_db_office_op.export.default_cmd',
'crepes export-core')
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_corepos_db_office_op.export.legacy_setting',
'rattail_corepos.exporting, corepos.handler')
# crepes export-csv
config.setdefault('rattail.importing', 'to_csv.from_corepos_db_office_op.export.default_handler',
'rattail_corepos.corepos.importing.db.exporters.csv:FromCoreToCSV')
config.setdefault('rattail.importing', 'to_csv.from_corepos_db_office_op.export.default_cmd',
'crepes export-csv')
config.setdefault('rattail.importing', 'to_csv.from_corepos_db_office_op.export.legacy_setting',
'rattail_corepos.exporting, csv.handler')
# crepes import-core
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_corepos_db_office_op.import.default_handler',
'rattail_corepos.corepos.importing.db.corepos:FromCoreToCoreImport')
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_corepos_db_office_op.import.default_cmd',
'crepes import-core')
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_corepos_db_office_op.import.legacy_setting',
'rattail_corepos.importing, corepos.handler')
# crepes import-csv
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_csv.import.default_handler',
'rattail_corepos.corepos.importing.db.csv:FromCSVToCore')
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_csv.import.default_cmd',
'crepes import-csv')
config.setdefault('rattail.importing', 'to_corepos_db_office_op.from_csv.import.legacy_setting',
'rattail_corepos.importing, csv.handler')
def core_office_url(config, require=False, **kwargs):
"""