Esempio n. 1
0
    def __init__(self, cols, defaults, schema, **kwargs):
        if self.DEBUG_MRO:
            self.registerMessage('CSVParse_Gen_Tree')
        taxoSubs = kwargs.pop('taxoSubs', {})
        itemSubs = kwargs.pop('itemSubs', {})
        extra_defaults = OrderedDict([
            ('CVC', '0'),
            ('code', ''),
            ('name', ''),
            ('fullname', ''),
            ('description', ''),
            ('HTML Description', ''),
            ('imglist', [])
        ])
        extra_taxoSubs = OrderedDict([
            ('', ''),
        ])
        extra_itemSubs = OrderedDict([
            ('Hot Pink', 'Pink'),
            ('Hot Lips (Red)', 'Red'),
            ('Hot Lips', 'Red'),
            ('Silken Chocolate (Bronze)', 'Bronze'),
            ('Silken Chocolate', 'Bronze'),
            ('Moon Marvel (Silver)', 'Silver'),
            ('Dusty Gold', 'Gold'),

            ('Screen Printed', ''),
            ('Embroidered', ''),
        ])
        extra_cols = [schema]

        cols = listUtils.combineLists( cols, extra_cols )
        defaults = listUtils.combineOrderedDicts( defaults, extra_defaults )
        super(CSVParse_Gen_Tree, self).__init__( cols, defaults, **kwargs)
        # CSVParse_Gen_Mixin.__init__(self, schema)

        metaWidth = kwargs.get('metaWidth', 2)
        assert metaWidth >= 2, "metaWidth must be greater than 2 for a GEN subclass"

        self.schema     = schema
        self.taxoSubs   = listUtils.combineOrderedDicts( taxoSubs, extra_taxoSubs )
        self.itemSubs   = listUtils.combineOrderedDicts( itemSubs, extra_itemSubs )
        self.taxoRegex  = SanitationUtils.compileRegex(self.taxoSubs)
        self.itemRegex  = SanitationUtils.compileRegex(self.itemSubs)

        if self.DEBUG_GEN:
            self.registerMessage("taxoDepth: {}".format(self.taxoDepth), 'CSVParse_Gen_Tree.__init__')
            self.registerMessage("itemDepth: {}".format(self.itemDepth), 'CSVParse_Gen_Tree.__init__')
            self.registerMessage("maxDepth: {}".format(self.maxDepth), 'CSVParse_Gen_Tree.__init__')
            self.registerMessage("metaWidth: {}".format(self.metaWidth), 'CSVParse_Gen_Tree.__init__')
            self.registerMessage("schema: {}".format(self.schema), 'CSVParse_Gen_Tree.__init__')
Esempio n. 2
0
 def changeFullname(self, item):
     subs = OrderedDict([(' \xe2\x80\x94 ', ' ')])
     return SanitationUtils.shorten(SanitationUtils.compileRegex(subs), subs, item)