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__')
def changeFullname(self, item): subs = OrderedDict([(' \xe2\x80\x94 ', ' ')]) return SanitationUtils.shorten(SanitationUtils.compileRegex(subs), subs, item)