def listallcomponentcategories( ): '''list all component categories''' ret = [] for name, supplier in getsuppliers().iteritems(): ret += supplier.listallcomponentcategories() continue from utils import uniquelist return uniquelist( ret )
def listallcomponentcategories(): '''list all component categories''' ret = [] for name, supplier in getsuppliers().iteritems(): ret += supplier.listallcomponentcategories() continue from utils import uniquelist return uniquelist(ret)
def listcomponentsincategory( category ): ret = [] for name, supplier in getsuppliers().iteritems(): if category not in supplier.listallcomponentcategories(): continue l = supplier.listcomponentsincategory( category ) l = [ (i, name) for i in l ] ret += l continue return ret
def listcomponentsincategory(category): ret = [] for name, supplier in getsuppliers().iteritems(): if category not in supplier.listallcomponentcategories(): continue l = supplier.listcomponentsincategory(category) l = [(i, name) for i in l] ret += l continue return ret
def componentfactory( category, type, supplier = 'mcni'): from component_suppliers import all as getsuppliers suppliers = getsuppliers() suppliername = supplier supplier = suppliers[ suppliername ] get = getattr(supplier, 'componentfactory') f = get(category, type) f.category = category f.type = type f.supplier = suppliername return f
def componentfactory(category, type, supplier='mcni'): from component_suppliers import all as getsuppliers suppliers = getsuppliers() suppliername = supplier supplier = suppliers[suppliername] get = getattr(supplier, 'componentfactory') f = get(category, type) f.category = category f.type = type f.supplier = suppliername return f
def find(type, category=None, supplier=None): if category and supplier: return type, category, supplier from component_suppliers import all as getsuppliers suppliers = getsuppliers() if supplier is None: suppliernames = suppliers.iterkeys() else: suppliernames = [supplier] found = [] categoryin = category close_matches = [] for suppliername in suppliernames: supplier = suppliers[suppliername] if categoryin is None: categories = supplier.listallcomponentcategories() else: categories = [categoryin] for category in categories: types = supplier.listcomponentsincategory(category) if type in types: found.append((category, suppliername)) continue matches = get_close_matches(type, types) if matches: close_matches += matches continue continue if not found: if close_matches: import warnings marker = '*' * 70 msg = ("\n%s\nCannot find the component you requested: %r, \n" "maybe you mean %r?\n%s\n") % (marker, type, close_matches[0], marker) warnings.warn(msg) return if len(found) > 1: raise RuntimeError, 'found more than 1 component for type %s: %s' % ( type, found) category, suppliername = found[0] return type, category, suppliername
def find(type, category=None, supplier=None): if category and supplier: return type, category, supplier from component_suppliers import all as getsuppliers suppliers = getsuppliers() if supplier is None: suppliernames = suppliers.iterkeys() else: suppliernames = [supplier] found = []; categoryin = category close_matches = [] for suppliername in suppliernames: supplier = suppliers[suppliername] if categoryin is None: categories = supplier.listallcomponentcategories() else: categories = [categoryin] for category in categories: types = supplier.listcomponentsincategory(category) if type in types: found.append((category, suppliername)) continue matches = get_close_matches(type, types) if matches: close_matches += matches continue continue if not found: if close_matches: import warnings marker = '*'*70 msg = ("\n%s\nCannot find the component you requested: %r, \n" "maybe you mean %r?\n%s\n") %( marker, type, close_matches[0], marker) warnings.warn(msg) return if len(found) > 1: raise RuntimeError, 'found more than 1 component for type %s: %s' % ( type, found) category, suppliername = found[0] return type, category, suppliername