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
Beispiel #2
0
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
Beispiel #3
0
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)))
Beispiel #4
0
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}]}}"
Beispiel #5
0
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)))
Beispiel #6
0
    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])
Beispiel #7
0
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),
        )
    )
Beispiel #8
0
 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