def create_database(): if not os.path.exists('./database.db'): print("Create a database\n") database.create_all() sleep(0.1) file_name = "products_79936.json" if not os.path.exists(file_name): # Download of mock database Process.run( 'curl https://servicespub.prod.api.aws.grupokabum.com.br/descricao/v1/descricao/produto/79936 >> %s' % file_name) ## Save database ## # Read $filename config_file = './%s' % file_name config_helper = ConfigHelper(config_file) config = config_helper.load_config() # Read only products of config config = config['familia']['produtos'] for data in config: product = ProductModel(**data) try: # Save products in database product.save_product() sleep(0.01) except: print({"message": "An error ocurred trying to create product."}, 500) # Internal Server Error
def put(self, id_product): product_data = Product.attribute.parse_args() products = ProductModel(**product_data) product = ProductModel.find_product(id_product) id_provider = ProductModel.find_id_provider(products.id_provider) if not id_provider: return { "message": "The id '{}' does not found.".format(products.id_provider) }, 404 if not product: return { "message": "Product id '{}' does not found.".format(id_product) }, 404 product_found = ProductModel.find_product(id_product) if product_found: product_found.update_product(**product_data) product_found.save_product() return product_found.json(), 200 product = ProductModel(id_product, **product_data) try: product.save_product() except: return {'message': 'Internal error'}, 500 return product.json(), 201
def put(self, codigo): data = Product.attribute.parse_args() product_find = ProductModel.find_product(codigo) if product_find: product_find.update_product(**data) product_find.save_product() return product_find.json(), 200 product = ProductModel(codigo, **data) product.save_product() return product.json(), 201
def post(self, codigo): if ProductModel.find_product(codigo): return { "message": "Code '{}', product already exists.".format(codigo) }, 400 # Bad Request data = Product.attribute.parse_args() product = ProductModel(codigo, **data) try: product.save_product() except: return { "message": "An error ocurred trying to create product." }, 500 # Internal Server Error return product.json(), 201
def put(self, product_id): args = Product.parser.parse_args() product_found = ProductModel.find_product(product_id) if product_found: product_found.update_product(**args) product_found.save_product() return product_found.json(), 200 product = ProductModel(product_id, **args) try: product.save_product() except: return { 'message': 'Oops, we have some problem here, try again.' }, 500 # internal error return product.json(), 201
def post(self): product_data = Product.attribute.parse_args() product = ProductModel(**product_data) if not ProviderModel.find_by_id_provider(product.id_provider): return { 'message': 'The product must be associated with a valid id. ' }, 400 try: product.save_product() except: return {'message': 'Internal error'}, 500 return product.json(), 200
def post(self, productId): if ProductModel.find_product(productId): return { "message": "Product id '{}' already exists.".format(productId) }, 400 data = Product.arguments.parse_args() productObject = ProductModel(productId, **data) try: productObject.save_product() except: return { 'message': 'An internal error occurred while trying to save the data.' }, 500 return productObject.json()
def post(self, product_id): if ProductModel.find_product(product_id): return { 'message': 'Product ID: {}, already exists.'.format(product_id.upper()) }, 400 # bad request args = Product.parser.parse_args() new_product = ProductModel(product_id, **args) try: new_product.save_product() except: return { 'message': 'Oops, we have some problem here, try again.' }, 500 # internal error return new_product.json()