def update_forgettingRate(answer, userId): # sql = 'SELECT word, meaning FROM ForgettingRate_' + userId sql_f = 'SELECT forgettingStage FROM forgettingRate_' + userId + ' WHERE meaning = %s' sql_t = 'SELECT testTime FROM forgettingRate_' + userId + ' WHERE meaning = %s' forgettingStage = db.getDB(sql_f, (answer)) testTime = db.getDB(sql_t, (answer)) defaultTestTime = '2000-10-10 10:10:10' if testTime[0][0] == defaultTestTime: ## testTime == NULL 일 때 #study만 하고 exam 거치지 않은 경우.(오늘 처음 study한 단어들) -> forgettingRate=0해서 exam에 뽑히게 new_forgettingRate = 0 #elif forgettingStage[0][0] == 0: ## study 안 하고 바로 test(forgettigStage=0) # new_forgettingRate = 0 # update_SubWordSet_studied(subWordSet) # update_Word_studied(wordSetId, subWordSetId) else: new_forgettingRate = cal_forgettingRate(forgettingStage[0][0], testTime[0][0]) #sql2 = """UPDATE Word SET forgettingRate = %f WHERE id = %d""" sql2 = 'UPDATE forgettingRate_' + userId + ' SET forgettingRate = %s WHERE meaning = %s' if new_forgettingRate > 200000: new_foregettingRate = 100000 db.setDB(sql2, (new_forgettingRate, answer))
def main(): parser = argparse.ArgumentParser( description = 'the argparse' ) parser.add_argument('-d', action='store', dest='domain') parser.add_argument('-n', action='store', dest='name') args = parser.parse_args() domain = args.domain name = args.name if(domain == None): printUsage() return db.getDB() if db.isExist(domain, name): print 'The domain '+ domain + ' is exist, please use setpw or getpw.' return nextpw = True while(nextpw): pw = createpw() print pw isOK =raw_input('Is it OK?(yes/no):(yes)') if isOK == '' or isOK == 'yes': nextpw = False db.insertpw(domain, name, pw) if name==None: print domain + ' : ' + pw + ' is inserted.' else: print domain + "|" + name + ' : ' + pw + " is inseted." pyperclip.setcb(pw) print 'the password is copyed to clipboard.'
def deleteFile(self, fileIds): db = db.getDB("public.file") where = "where id in (" + fileIds + ")" r = db.findByCond("store_path", where) db.deleteByCond(where) for f in r["rows"]: deleteFile(f[0])
def get_all_inquiries(): """ Get all enquiries in the db """ Inquiry_coll = db_.getDB().inquiry all_inqs = Inquiry_coll.find() inquries = [] for inq in all_inqs: inquries.append(Inquiry.dbinq2object(inq)) return inquries
def get_inquiry(twitter_id): """ Get enquiry by user id """ Inquiry_coll = db_.getDB().inquiry inq = Inquiry_coll.find_one({"user_id": twitter_id}) if not inq: inq = Inquiry(twitter_id) inq.save() return inq return Inquiry.dbinq2object(inq)
def data_insert(): id = int(request.values.get('id')) name = request.values.get('name') age = int(request.values.get('age')) database = db.getDB() database.query('insert into student values (%d, "%s", %d)' % (id, name, age)) n, rows = database.query('select * from student') return render_template('student.html', rows=rows)
def main(): parser = argparse.ArgumentParser( description = 'the argparse' ) parser.add_argument('-a', action='store_true', default=False, dest='get_all') parser.add_argument('-d', action='store', dest='domain') parser.add_argument('-n', action='store', dest='name') args = parser.parse_args() db.getDB() if args.get_all: pw_table = db.getpw() if pw_table == None: print "The database is empty." return for pw in pw_table: if pw[NAME] == None: print pw[DOMAIN] + " : " + pw[PASSWORD] else: print pw[DOMAIN] + "|" + pw[NAME] + " : " + pw[PASSWORD] elif args.name !=None and args.domain!= None: pw = db.getpw(args.domain, args.name) if pw == None: print "Not Found!Please try getpw -a" return pyperclip.setcb(pw[PASSWORD]) print pw[DOMAIN] + "|" + pw[NAME] + " : " + pw[PASSWORD] elif args.domain != None: pw_table = db.getpw(args.domain) if pw_table == []: print "Not Found!Please try getpw -a" return for pw in pw_table: if pw[NAME] == None: print pw[DOMAIN] + " : " + pw[PASSWORD] else: print pw[DOMAIN] + "|" + pw[NAME] + " : " + pw[PASSWORD] pyperclip.setcb(pw[PASSWORD]) else: printUsage()
def update_forgettingStage(answer, correct, userId): if correct == 1: sql1 = 'SELECT forgettingStage FROM forgettingRate_' + userId + ' WHERE meaning = %s' ### forgettingStage = db.getDB(sql1, (answer)) forgettingStage_up = forgettingStage[0][0] + 1 sql2 = 'UPDATE forgettingRate_' + userId + ' SET forgettingStage = %s WHERE meaning = %s' ### db.setDB(sql2, (forgettingStage_up, answer)) # forgettingStage +1 # correct == 0 이면 forgettingStage 유지 elif correct == 0: pass
def fetchKeywords(since: datetime, until: datetime) -> {}: db = getDB() col = db.get_collection("ranked") data = {} length = (until - since).days + 1 for doc in col.find({'status': 2, 'date': {'$gte': since, '$lte': until}}): date = doc['date'] delta = (date - since).days for keyword in doc['keywords']: key = keyword['name'] if key not in data: data[key] = [0 for i in range(length)] data[key][delta] = keyword['rank'] return data
def main(): parser = argparse.ArgumentParser( description = 'the argparse' ) parser.add_argument('-d', action='store', dest='domain') parser.add_argument('-p', action='store', dest='password') parser.add_argument('-n', action='store', dest='name') args = parser.parse_args() if args.domain == None or args.password == None: printUsage() return db.getDB() if db.isExist(args.domain, args.name): db.setpw(args.domain, args.name, args.password) print "Success! you can check it by running getpw." else: if args.name==None: print "the domain " + args.domain + " is not exist, please try createpw." else: print "the domain " + args.domain + " and the name " + args.name + " is not exist, please try createpw."
def init_forgettingStage(wordSetId, subWordSetId, userId): sql2 = 'SELECT forgettingStage FROM forgettingRate_' + userId + ' WHERE wordSetId = %s AND subWordSetId = %s' forgettingStage = db.getDB(sql2, (wordSetId, subWordSetId)) print("@#!@#!@$!@$!@#!@$!@$!@#!@$!@$!@$") print(forgettingStage) print("@#!@#!@$!@$!@#!@$!@$!@#!@$!@$!@$") if (forgettingStage == 0): sql = 'UPDATE forgettingRate_' + userId + ' SET forgettingStage = 1 WHERE wordSetId = %s AND subWordSetId = %s' db.setDB(sql, (wordSetId, subWordSetId)) elif (forgettingStage[0][0] == 0): sql = 'UPDATE forgettingRate_' + userId + ' SET forgettingStage = 1 WHERE wordSetId = %s AND subWordSetId = %s' db.setDB(sql, (wordSetId, subWordSetId)) #test stage 끝난 후 exam 비우기 전! testTime 먼저 업데이트
def save(self): """ Saves to the db """ Inquiry_coll = db_.getDB().inquiry inq = Inquiry_coll.find_one({"user_id": self.user_id}) new_inquiry = { "user_id": self.user_id, "inquiry_type": self.inquiry_type, "inquiry_str": self.inquiry_str, "time_limit": self.time_limit, "matched_user": self.matched_user, "entities": self.entities, } if not inq: print("new Inq: {}".format(self)) inserted_inq = Inquiry_coll.insert_one(new_inquiry) print("Inserted user: {}. Has mongoID: {}".format( new_inquiry, inserted_inq.inserted_id)) else: Inquiry_coll.replace_one({"_id": inq["_id"]}, new_inquiry)
def ping(): db = getDB() cols = db.list_collection_names() return {"ping": "pong", "collections": cols}
def finding_related(): col = getCol() print(col.delete_many({"finished": {"$in": [None, False]}})) while True: doc = col.find_one({"finished": {"$in": [None]}}) if doc == None: time.sleep(1) # 작업할게 없으면 1초 뒤 다시확인 continue print("[finding related] 새로운 작업") since = doc['meta']['from'] until = doc['meta']['to'] doc["finished"] = False doc["status"]["total"] = (until - since).days doc["status"]["current"] = 0 doc["status"]["message"] = "데이터를 불러오는 중입니다." print("[finding related] 데이터를 불러오는 중입니다.") sync(doc) ######## # Fetch data ######## db = getDB() col_rank = db.get_collection("ranked") keywords = {} length = (until - since).days + 1 start = time.time() for rank_doc in col_rank.find({ 'status': 2, 'date': { '$gte': since, '$lte': until } }): date = rank_doc['date'] delta = (date - since).days for keyword in rank_doc['keywords']: key = keyword['name'] if key not in keywords: keywords[key] = [0 for i in range(length)] keywords[key][delta] = keyword['rank'] doc["status"]["current"] += 1 if time.time() - start > 1: start = time.time() sync(doc) print("[finding related] 데이터를 불러오는 중입니다.", doc["status"]["current"]) ######## # Data Conversion ######## data_req = list(map(lambda x: x['value'], doc['data'])) doc["status"]["total"] = len(keywords) doc["status"]["current"] = 0 doc["status"]["message"] = "데이터를 변환하는 중입니다." sync(doc) start = time.time() for key in keywords: keywords[key] = movingmean(keywords[key], 7) doc["status"]["current"] += 1 if time.time() - start > 1: sync(doc) start = time.time() ######## # Compare data ######## related_keys = [] doc['status']['total'] = len(keywords) doc['status']['current'] = 0 doc["status"]["message"] = "데이터를 비교해보는 중입니다." sync(doc) start = time.time() pool = multiprocessing.Pool() tmp_dataset = [] for key in keywords: tmp_dataset.append((key, keywords[key], data_req)) if len(tmp_dataset) == 2000: tmp = pool.map(f, tmp_dataset) tmp_dataset = [] related_keys.extend(tmp) doc["status"]["current"] = len(related_keys) sync(doc) tmp = pool.map(f, tmp_dataset) tmp_dataset = [] related_keys.extend(tmp) doc["status"]["current"] = len(related_keys) sync(doc) ######## # Sort data ######## doc['status']['total'] = 2 doc['status']['current'] = 0 doc["status"]["message"] = "거의 완료되었습니다." doc["related"] = [] sync(doc) related_keys.sort(key=lambda x: x[1]) # 키워드 유사도 오름차순 for i in range(0, 20): # 키워드 20개 뽑아서 저장 tmp = [] d = doc['meta']['from'] for val in keywords[related_keys[i][0]]: tmp.append({'date': d, 'value': val}) d += timedelta(1) doc["related"].append({ "keyword": related_keys[i][0], "similarity": related_keys[i][1], "data": tmp }) doc['status']['total'] = 2 doc['status']['current'] = 2 doc["status"]["message"] = "완료되었습니다. :-)" doc["finished"] = True sync(doc)
def delete_inquiry(twitter_id): Inq_coll = db_.getDB().inquiry no_deleted = Inq_coll.delete_one({"user_id": twitter_id}) return no_deleted
#!/usr/bin/env python # -*- coding:utf-8 -*- import json import warnings from db import getDB warnings.filterwarnings("ignore") conn, curr = getDB() def log_parse_heartbeat(log_data): ''' appKey = log_data['appKey'] deviceId = log_data['data']['deviceId'] time = log_data['data']['time'] print ("%s %s %s %s" % (sid, appKey, deviceId, time)) ''' pass def log_parse_basicinfo(log_data): ''' appKey = log_data['appKey'] deviceId = log_data['data']['deviceId'] lineId = log_data['data']['lineId'] # companyName = log_data['data']['companyName'] lineName = log_data['data']['lineName'] lineCode = log_data['data']['lineCode'] lineShort = log_data['data']['lineShort']
def show_data(): database = db.getDB() n, rows = database.query('select * from student') return render_template('student.html', rows=rows)