magento_catalog_service = self._create_magento_catalog_service(**kwds) yogento_catalog_service = self._create_yogento_catalog_service(**kwds) magento_skus = set(magento_catalog_service.get_product_skus()) yogento_skus = set(yogento_catalog_service.get_product_skus()) yogento_extra_skus = yogento_skus - magento_skus if len(yogento_extra_skus) > 0: logger.info( "deleting products [%s] not present in Magento from Yogento", ', '.join(tuple(yogento_extra_skus))) for sku in yogento_extra_skus: yogento_catalog_service.delete_product_by_sku(sku) # Process one SKU at a time, to avoid overloading Magento for magento_sku in magento_skus: logger.info("getting product '%s' from Magento", magento_sku) try: magento_product = \ magento_catalog_service.get_product_by_sku(magento_sku) except NoSuchProductException: logger.warning("no such Magento product '%s'", magento_sku) continue logger.info("putting product '%s' from Magento to Yogento", magento_sku) yogento_catalog_service.put_product(magento_product) Commands.register(SyncProducts)
magento_skus = set(magento_catalog_service.get_product_skus()) yogento_skus = set(yogento_catalog_service.get_product_skus()) yogento_extra_skus = yogento_skus - magento_skus if len(yogento_extra_skus) > 0: logger.info( "deleting products [%s] not present in Magento from Yogento", ', '.join(tuple(yogento_extra_skus)) ) for sku in yogento_extra_skus: yogento_catalog_service.delete_product_by_sku(sku) # Process one SKU at a time, to avoid overloading Magento for magento_sku in magento_skus: logger.info("getting product '%s' from Magento", magento_sku) try: magento_product = \ magento_catalog_service.get_product_by_sku(magento_sku) except NoSuchProductException: logger.warning("no such Magento product '%s'", magento_sku) continue logger.info( "putting product '%s' from Magento to Yogento", magento_sku ) yogento_catalog_service.put_product(magento_product) Commands.register(SyncProducts)
def _get_commands(cls): return Commands.create()
def __call__(self, **kwds): catalog_service = self._create_magento_catalog_service(**kwds) product_skus = catalog_service.get_product_skus() product_field_counts = Counter() product_i = 0 for product_sku in product_skus: try: product = catalog_service.get_product_by_sku(product_sku) except KeyboardInterrupt: break except NoSuchProductException: continue for attr in dir(product): if attr[0] == '_': continue value = getattr(product, attr) if ismethod(value): continue product_field_counts[attr] += 1 product_i += 1 print "(%u/%u) %s" % (product_i, len(product_skus), product_sku) print product_i for field_name in sorted(product_field_counts.iterkeys()): count = product_field_counts[field_name] if count == product_i: print 'required', field_name Commands.register(AnalyzeCatalog)
catalog_service = self._create_magento_catalog_service(**kwds) product_skus = catalog_service.get_product_skus() product_field_counts = Counter() product_i = 0 for product_sku in product_skus: try: product = catalog_service.get_product_by_sku(product_sku) except KeyboardInterrupt: break except NoSuchProductException: continue for attr in dir(product): if attr[0] == "_": continue value = getattr(product, attr) if ismethod(value): continue product_field_counts[attr] += 1 product_i += 1 print "(%u/%u) %s" % (product_i, len(product_skus), product_sku) print product_i for field_name in sorted(product_field_counts.iterkeys()): count = product_field_counts[field_name] if count == product_i: print "required", field_name Commands.register(AnalyzeCatalog)