def getHistoryString(self): self.startEntryString = self.historyStartEntry.get() self.endEntryString = self.historyEndEntry.get() returnValue = 'beginwaarde' if validDateString(self.startEntryString) == True: if validDateString(self.endEntryString) == True: if time.mktime( time.strptime(self.startEntryString, '%Y-%m-%d %H:%M')) < time.mktime( time.strptime( self.endEntryString, '%Y-%m-%d %H:%M')): dateTuple = (self.startEntryString, self.endEntryString) historyData = database.getHistory(dateTuple) returnValue = self.getHistoryWindowTextString(historyData) else: returnValue = 'Begintijd gelijk aan of later dan eindtijd' print(validDateString(self.endEntryString)) else: returnValue = 'Eindtijd onjuist' else: returnValue = 'Begintijd onjuist' print('functie doorlopen') print(returnValue) return returnValue
def verify(id): user = session.get('username') history = database.getHistory(id) try: if history.index(user) >= 0: print "contributed" return False except: print "nada" return True
def search(): defenses.setup(request, response) csrftoken = defenses.csrfDefense.init(request, response) defenses.xssDefense.init(response) query = defenses.xssDefense.filter(request.query.q) user = getUser() if user and user.id: if query != "": database.addHistory(user.id, query) history = database.getHistory(user.id) else: history = None return dict(v=FormsDict(defenses=defenses.selectors(), user=getUser(), query=query, history=history, csrfcode=defenses.csrfDefense.formHTML(csrftoken)))
def history_get(days): days = int(days) conn = sqlite3.connect(settings.database) c = conn.cursor() h = database.getHistory(c, days) if h == None: return "{\"error\": \"No temperatures recorded\"}" hist = "" # b = datetime(1970, 1, 1) for date, temp in h: # a = datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f') # hist = hist + f"{{\"x\":{(a-b).total_seconds()}, \"y\":{temp}}}," hist = hist + f"{{\"x\":\"{date}\", \"y\":{temp}}}," hist = hist[:-1] return f"{{\"history\": [{hist}]}}"
def search(): defenses.setup(request, response) csrftoken = defenses.csrfDefense.init(request, response) defenses.xssDefense.init(response) query = defenses.xssDefense.filter(request.query.q) user = getUser() if user and user.id: if user.username != 'attacker': # Hack to prevent students from polluting each others' history if query != "": database.addHistory(user.id, query) history = database.getHistory(user.id) else: history = None return dict(v=FormsDict(defenses=defenses.selectors(), user=getUser(), query=query, history=history, csrfcode=defenses.csrfDefense.formHTML(csrftoken)))
def getHistory(self): row = db.getHistory(self.email) if row == False: print("\n\nThere is no past transaction history.\n") else: row = row.split(';') for i in range(len(row) - 1): row[i] = row[i].split(',') print("\nTransaction") print("-----------") print(" > Transaction Type: " + row[i][0]) print(" > Company: " + row[i][1]) print(" > Symbol: " + row[i][2]) print(" > Timestamp: " + row[i][3]) print(" > Stock Price: $" + row[i][4]) print(" > Amount: " + row[i][5])
def search(): defenses.setup(request, response) csrftoken = defenses.csrfDefense.init(request, response) defenses.xssDefense.init(response) query = defenses.xssDefense.filter(request.query.q) user = getUser() if user and user.id: if user.username != "attacker": # Hack to prevent students from polluting each others' history if query != "": database.addHistory(user.id, query) history = database.getHistory(user.id) else: history = None return dict( v=FormsDict( defenses=defenses.selectors(), user=getUser(), query=query, history=history, csrfcode=defenses.csrfDefense.formHTML(csrftoken), ) )
def do_GET(self): global threadLock # 从地址中分割出若干参数 parseResult = urllib.parse.urlparse(self.path) params = urllib.parse.unquote(parseResult.path).split('/') querys = urllib.parse.parse_qs(urllib.parse.unquote(parseResult.query)) threadLock.acquire() with open('log.txt', 'a', encoding='utf-8') as f: f.write( time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + "---" + self.address_string() + "--->[get]" + self.path + "\n") threadLock.release() # 捕获所有错误,防止程序崩溃 try: if params[1] == 'ping': self.send('SmartTrash') elif params[1] == 'name': result = api.getType(params[2]) self.send(result) elif params[1] == 'namem1': result = api.getType(params[2], 1) self.send(result) elif params[1] == 'name-multi': tmp = [] for i in range(len(params) - 2): tmp.append(params[i + 2]) print("httpserver.name-multi:" + str(tmp)) result = api.getType_multi(tmp) self.send(json.dumps(result, ensure_ascii=False)) elif params[1] == 'db-update': if main.usedb == False: self.send('err:服务器关闭了数据添加功能') return try: result = database.dbUpdate(params[2], params[3]) self.send('success:' + str(result)) except: self.send('err:服务器数据库更新失败') raise elif params[1] == 'db-history': if main.usedb == False: self.send('err:服务器关闭了数据添加功能') return try: result = database.getHistory() self.send(json.dumps(result, ensure_ascii=False, default=str), log=False) except: self.send('err:服务器数据库读取失败') raise elif params[1] == 'db-addhistory': if main.usedb == False: self.send('err:服务器关闭了数据添加功能') return try: result = database.addHistory(params[2], params[3]) self.send('success:' + str(result)) except: self.send('err:服务器数据库更新失败') raise elif params[1] == 'object_detection': img = imgdic[querys['input'][0]] origin = image_classify(img) threadLock.acquire() with open('response-ic.json', 'w', encoding='utf-8') as f: f.write(json.dumps(origin, ensure_ascii=False)) f.write("\n") threadLock.release() if str(origin).find('err') != -1: self.send('图像识别错误,请重新拍摄') return # 老版本 result = {} result['img'] = querys['input'][0] result['data'] = json.loads( json.dumps(origin, ensure_ascii=False).replace( '"keyword":', '"class_name":'))['result'] if True: #将第一个物体名替换成mode1结果 result['data'][0]['class_name'] = api.getType( result['data'][0]['class_name'], 1) # if True: # 将所有物体名直接转换成名字+类型 # for index in range(len(result['data'])): # result['data'][index]['class_name'] = result['data'][index]['class_name']+" "+api.getType( # result['data'][index]['class_name']) threadLock.acquire() with open('response.json', 'w', encoding='utf-8') as f: f.write(json.dumps(result, ensure_ascii=False)) f.write("\n") threadLock.release() self.send(json.dumps(result, ensure_ascii=False)) # 新版本 # trashname = origin['result'][0]['keyword'] # trashroot = origin['result'][0]['root'] # trashtype = api.getType(trashname,1) # self.send(trashtype) # 其他指令:无效 elif params[1] == 'app-name-multi': img = imgdic[params[2]] ic = image_classify(img) #from SmartTrash-client/ui.py#100 namelist = [] for i in range(ic['result_num']): namelist.append(ic['result'][i]['keyword']) print('httpserver.app-gettype-multi.namelist:' + str(namelist)) self.send(' '.join(namelist)) elif params[1] == 'app-type-multi': #from this#81 tmp = params[2].split(' ') print("httpserver.app-gettype-multi.tmp:" + str(tmp)) result = api.getType_multi(tmp, 3) self.send('###'.join(result)) elif params[1] == 'app-db-history': if main.usedb == False: self.send('err:服务器关闭了数据添加功能') return try: result = database.getHistory(3) self.send('\n'.join(result)) except: self.send('err:服务器数据库读取失败') raise else: self.send('无效指令'.encode('utf-8')) except IndexError: self.protocol_version = 'HTTP/1.1' self.send_response(200) self.wfile.write('http地址参数错误:IndexError'.encode('utf-8')) except: self.protocol_version = 'HTTP/1.1' self.send_response(200) self.wfile.write('指令或参数存在未知错误'.encode('utf-8')) # self.wfile.write(sys.exc_info()[0]) raise