def stockGetCmd(args): stock = Product.stockGet(args[0]) if not stock: return Command.result(Command.RET_ERR_GENERAL, 'product not found') else: return Command.result(Command.RET_SUCCESS, stock)
def stockSetCmd(args): sku = args[0] qty = int(args[1]) if Product.stockSet(sku, qty): return Command.result(Command.RET_SUCCESS) else: return Command.result(Command.RET_ERR_GENERAL)
def reservationSetCmd(args): clid = args[0] sku = args[1] qty = int(args[2]) Product.reservationSet(sku, clid, qty) ret = Product.reservationSet(sku, clid, qty) if ret > 0: return Command.result(Command.RET_ERR_GENERAL, 'not enough stock (stock: ' + str(ret) + ')') else: return Command.result(Command.RET_SUCCESS)
def stockDecCmd(args): sku = args[0] qty = int(args[1]) ret = Product.stockDec(sku, qty) if ret > -1: return Command.result(Command.RET_SUCCESS, {'stock': ret}) else: return Command.result(Command.RET_ERR_GENERAL)
def productAddCmd(args): sku = args[0] stock = int(args[1]) if Product.productAdd(sku, stock): Logger.debug("product %s with stock %d was added" % (sku, stock)) return Command.result(Command.RET_SUCCESS) else: return Command.result(Command.RET_ERR_GENERAL)
def saveCmd(self, *args): if self.config['persistence']: self.save() return Command.result(Command.RET_SUCCESS) else: return Command.result(Command.RET_ERR_GENERAL, 'database persistence is disabled')
def workersCmd(self, args): return Command.result(Command.RET_SUCCESS, {'active': len(self.workers), 'max': self.config['workers']})
def reloadCmd(args): Config.reload() return Command.result(Command.RET_SUCCESS)
def shutdownCmd(self, args): self.stop() return Command.result(Command.RET_SUCCESS)
def totalCmd(args): ret = { 'products': len(Product.data), } return Command.result(Command.RET_SUCCESS, ret)
def productInfoCmd(args): ret = Product.info(args[0]) if not ret: return Command.result(Command.RET_ERR_GENERAL, 'product not found') else: return Command.result(Command.RET_SUCCESS, ret)
def reservationDelCmd(args): clid = args[0] sku = args[1] qty = int(args[2]) Product.reservationDel(sku, clid, qty) return Command.result(Command.RET_SUCCESS)