Changeset - 83b1f93d99d0
[Not reviewed]
0 2 1
Lance Edgar - 5 years ago 2019-07-29 12:09:56
ledgar@techsupport.coop
Add `crepes export-csv` command, for data export to CSV files
3 files changed with 68 insertions and 0 deletions:
0 comments (0 inline, 0 general) First comment
rattail_corepos/corepos/commands.py
Show inline comments
 
@@ -105,6 +105,24 @@ class ExportCore(commands.ImportSubcommand):
 
        return kwargs
 

	
 

	
 
class ExportCSV(commands.ExportFileSubcommand):
 
    """
 
    Export data from CORE to CSV file(s)
 
    """
 
    name = 'export-csv'
 
    description = __doc__.strip()
 
    default_handler_spec = 'rattail_corepos.corepos.importing.exporters:FromCoreToCSV'
 

	
 
    def get_handler_factory(self, **kwargs):
 
        if self.config:
 
            spec = self.config.get('rattail_corepos.exporting', 'csv.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)
 

	
 

	
 
class ImportCore(ImportToCore):
 
    """
 
    Import data from another CORE database
rattail_corepos/corepos/importing/exporters.py
Show inline comments
 
new file 100644
 
# -*- coding: utf-8; -*-
 
################################################################################
 
#
 
#  Rattail -- Retail Software Framework
 
#  Copyright © 2010-2019 Lance Edgar
 
#
 
#  This file is part of Rattail.
 
#
 
#  Rattail is free software: you can redistribute it and/or modify it under the
 
#  terms of the GNU General Public License as published by the Free Software
 
#  Foundation, either version 3 of the License, or (at your option) any later
 
#  version.
 
#
 
#  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY
 
#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
#  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
#  details.
 
#
 
#  You should have received a copy of the GNU General Public License along with
 
#  Rattail.  If not, see <http://www.gnu.org/licenses/>.
 
#
 
################################################################################
 
"""
 
CORE-POS Data Export
 
"""
 

	
 
from __future__ import unicode_literals, absolute_import
 

	
 
from corepos.db import model as corepos
 

	
 
from rattail.importing.handlers import ToCSVHandler
 
from rattail.importing.exporters import FromSQLAlchemyToCSVMixin
 
from rattail_corepos.corepos.importing.corepos import FromCoreHandler, FromCore
 

	
 

	
 
class FromCoreToCSV(FromSQLAlchemyToCSVMixin, FromCoreHandler, ToCSVHandler):
 
    """
 
    Handler for CORE -> CSV data export.
 
    """
 
    direction = 'export'
 
    local_title = "CSV"
 
    FromParent = FromCore
 

	
 
    @property
 
    def host_title(self):
 
        return self.config.node_title()
 

	
 
    def get_model(self):
 
        return corepos
setup.py
Show inline comments
 
@@ -105,6 +105,7 @@ setup(
 

	
 
        'crepes.commands': [
 
            'export-core = rattail_corepos.corepos.commands:ExportCore',
 
            'export-csv = rattail_corepos.corepos.commands:ExportCSV',
 
            'import-core = rattail_corepos.corepos.commands:ImportCore',
 
        ],
 

	
0 comments (0 inline, 0 general) First comment
You need to be logged in to comment. Login now