import json, csv, datetime, copy import requests from flask import Flask from flask import render_template, send_from_directory, request, Response, send_file, session app = Flask(__name__) class Item(): items = {} def __init__(self, name, price, itemid=None): self.id = itemid if itemid != None else 0 self.name = name self.price = price self.events = [] Item.items[self.id] = self def newEvent(self, type, value, date=None): event = {} if date==None: # date = datetime.datetime.now().strftime('%Y-%m-%d') print ("no date given, using now") date = datetime.datetime.now() event['date'] = date event['type'] = type event['value'] = value self.events.append(event) def recount(self, count, date=None): if count < 0: return False self.newEvent('count', count, date) Item.fileSave() return True def add(self, count, date=None): self.newEvent('add', count, date) Item.fileSave() return True def howMany(self): count = 0 for event in self.events: if event['type']=='add': count += event['value'] if event['type']=='count': count = event['value'] return count def countSold(self, fromDate=None, verbose=False): count = 0 totalSold = 0 lastDate = 'the start' for event in self.events: if event['type']=='add': count += event['value'] if event['type']=='count': newCount = event['value'] if newCount') def saleStats(startDate = 0): if startDate !=0: try: startDate = datetime.datetime.strptime(startDate, '%Y-%m-%d') except: return "invalid date format" jsonContent = {} jsonContent['totalCount'] = 0 jsonContent['totalValue'] = 0 itemTable = [] for key, item in Item.items.items(): itemEntity = {} itemEntity['id'] = item.id itemEntity['name'] = item.name itemEntity['price'] = str(item.price/100) + '.00' if startDate != 0: itemEntity['soldQuantity'] = item.countSold(startDate) else: itemEntity['soldQuantity'] = item.countSold() itemEntity['soldValue'] = str(itemEntity['soldQuantity'] * item.price / 100) + '.00' jsonContent['totalCount'] += itemEntity['soldQuantity'] jsonContent['totalValue'] += itemEntity['soldQuantity'] * item.price/100 itemTable.append(itemEntity) jsonContent['items'] = itemTable jsonContent['startDate'] = startDate.strftime('%Y-%m-%d') if startDate != 0 else "2018-09-01" jsonContent['endDate'] = datetime.datetime.now().strftime('%Y-%m-%d') return json.dumps(jsonContent) @app.route('/salestats') def saleStatsNoDate(): return saleStats() if __name__ == '__main__': # app.secret_key = 'asuiygdiahsdo[ainsfl]asfkjnb;asklnj' # app.config['SESSION_TYPE'] = 'memcached' print("is this the work?") Item.fileLoad() app.run('0.0.0.0')