Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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.' 
Exemplo n.º 3
0
 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])
Exemplo n.º 4
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
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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()
Exemplo n.º 8
0
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
Exemplo n.º 9
0
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
Exemplo n.º 10
0
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."
Exemplo n.º 11
0
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 먼저 업데이트
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
def ping():
    db = getDB()
    cols = db.list_collection_names()
    return {"ping": "pong", "collections": cols}
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
 def delete_inquiry(twitter_id):
     Inq_coll = db_.getDB().inquiry
     no_deleted = Inq_coll.delete_one({"user_id": twitter_id})
     return no_deleted
Exemplo n.º 16
0
#!/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']
Exemplo n.º 17
0
def show_data():
    database = db.getDB()
    n, rows = database.query('select * from student')
    return render_template('student.html', rows=rows)