def write(): d = request.json try: name = d.get("name").strip() date = d.get("date").strip() location = d.get("location").strip() items = d.get("items") except Exception as E: return str(E), 402 if len(name) == 0: return "name is required", 402 if not valid_date(date): return "date is required and must be valid", 402 if len(location) == 0 or not is_location(l): return "location is required and must be defined", 402 last_transaction_id = db.db_read("last_transaction_id") data = { last_transaction_id + 1: { "name": name, "date": date, "location": location, "items": items } } return db.db_write("transactions".data)
def end_loan(loan_id, ended, paid_currency): try: loan = db_read()[loan_id] except KeyError as e: raise RuntimeError(f'Error: a loan with id {loan_id} does not exist.') if loan['ended_details']: raise RuntimeError('Error: this loan has already been ended.') total_commission = get_total_commission(loan, ended) paid_amount_before_commission = round( get_paid_amount_before_commission(loan, paid_currency), 2) paid_amount = round( get_total_owed(paid_amount_before_commission, total_commission), 2) return db_end_loan( loan_id, { 'ended_details': { 'Paid Currency': paid_currency, 'Total Commission': total_commission, 'Paid Amount Before Commission': paid_amount_before_commission, 'Paid Amount': paid_amount, 'Loan End': ended } })
def remember_tasks(self): """""" try: TaskSlot.task_dict = db.db_read() for k, v in TaskSlot.task_dict.items(): TaskSlot(self, k, v.head, v.body).frame.pack(fill=tk.X) except FileNotFoundError: pass
def on_read(conn, message): """Receives a message on db.read queue """ body = json.loads(message.body) print('Read received', body) with Producer(conn) as producer: try: value = db_read(body['key']) print('Db read', body['key'], value) producer.publish( {'result': value}, exchange='', routing_key=message.properties['reply_to'], correlation_id=message.properties['correlation_id'], serializer='json', retry=True) finally: message.ack()
def list_pickups(): try: v = db.db_read("transactions") except Exception as E: return str(E), 500 return v
def list_product(): try: v = db.db_read("item_definition") except Exception as E: return str(E), 500 return v
def locations(): try: v = db.db_read("location") except Exception as E: return []
def get_next_id(): return len(db_read())
def total_value(item_id): items = db_read(item_id) return sum(items)
def user_list(): return db_read(db_file_name, 100, 0)
def end_loan(): params = request.args ExchangeManager.end_loan(params['id'], params['ended'], params['paid_currency']) return jsonify(db_read()[params['id']])
def loans(): return jsonify(db_read())