def setup(self): try: new_attrs = {} new_attrs.update(self.attrs) new_attrs.update(self.do_get_dependencies()) self.obj = self.klass(**new_attrs) DBSession.add(self.obj) DBSession.flush() return self.obj except: DBSession.rollback() raise
def load_one(self, supplier_catalog_item): """Load One""" query = DBSession.query(ProductModel) query = query.filter(ProductModel.manufacturer_id == supplier_catalog_item.manufacturer_id) query = query.filter(ProductModel.identifier == supplier_catalog_item.product_identifier) count = query.count() if (count == 0): product = ProductModel() product.manufacturer_id = supplier_catalog_item.manufacturer_id product.identifier = supplier_catalog_item.product_identifier DBSession.add(product) supplier_catalog_item_task = SupplierCatalogItemTask() supplier_catalog_item_task.update_product(supplier_catalog_item)
def load_one(self, plug, file_import): """Load One""" query = DBSession.query(SupplierCatalogModel) query = query.filter(SupplierCatalogModel.file_import_id == file_import.id) if query.count() == 0: supplier_catalog = SupplierCatalogModel() DBSession.add(supplier_catalog) supplier_catalog.file_import_id = file_import.id else: supplier_catalog = query.one() supplier_catalog.supplier_id = plug.supplier_id() supplier_catalog.supplier_catalog_filter_id = plug.supplier_catalog_filter_id() if not supplier_catalog.lock_issue_date: supplier_catalog.issue_date = plug.issue_date(file_import)
def load_one(self, plug, file_import): """Load One""" query = DBSession.query(SupplierSpecialModel) query = query.filter(SupplierSpecialModel.file_import_id == file_import.id) if query.count() == 0: supplier_special = SupplierSpecialModel() DBSession.add(supplier_special) supplier_special.file_import_id = file_import.id else: supplier_special = query.one() supplier_special.supplier_id = plug.supplier_id() supplier_special.supplier_special_filter_id = plug.supplier_special_filter_id() #if not supplier_special.lock_issue_date: if True: dates = plug.issue_dates(file_import) if dates is not None: supplier_special.begin_date = dates[0] supplier_special.end_date = dates[1] print 'BEGIN', supplier_special.begin_date print 'END', supplier_special.end_date
def load_supplier_special_item_version(self, supplier_special, supplier_special_item_field, row_number): plug = self.plugins[supplier_special.supplier_special_filter_id] model_name = plug.version_model() + 'Model' VersionModel = getattr(model, model_name) query = DBSession.query(VersionModel) query = query.filter(VersionModel.supplier_special_id == supplier_special.id) query = query.filter(VersionModel.row_number == row_number) if supplier_special_item_field is None: query.delete() supplier_special_item_version = None else: try: supplier_special_item_version = query.one() except NoResultFound: supplier_special_item_version = VersionModel() DBSession.add(supplier_special_item_version) supplier_special_item_version.supplier_special_id = supplier_special.id supplier_special_item_version.supplier_special_item_field_id = supplier_special_item_field.id supplier_special_item_version.supplier_special_filter_id = plug.supplier_special_filter_id() supplier_special_item_version.row_number = row_number #supplier_special_item_version.effective = supplier_special.issue_date return supplier_special_item_version
def load_supplier_special_item_field(self, supplier_special, row): if row is not None: j = SupplierSpecialItemFieldModel.encode_json(row) else: j = None if j is None: supplier_special_item_field = None else: checksum = hashlib.sha1(j).hexdigest() plug = self.plugins[supplier_special.supplier_special_filter_id] query = DBSession.query(SupplierSpecialItemFieldModel) query = query.filter(SupplierSpecialItemFieldModel.checksum == checksum) try: supplier_special_item_field = query.one() except NoResultFound: supplier_special_item_field = SupplierSpecialItemFieldModel() DBSession.add(supplier_special_item_field) supplier_special_item_field.fields = j.encode('utf-8') supplier_special_item_field.checksum = checksum supplier_special_item_field.supplier_id = supplier_special.supplier_id supplier_special_item_field.supplier_special_filter_id = plug.supplier_special_filter_id() return supplier_special_item_field