def add_event(data): if KEY.ID not in data or KEY.TYPE not in data: return -1 if data[KEY.TYPE] == 1 and KEY.MAX_PEOPLE not in data: return -1 sql = "insert into event (launcher, type, time) values (%d, %d, now())" help_sql = "insert into event (launcher, type, time, help_max) values (%d, %d, now(), %d)" event_id = -1 try: if data[KEY.TYPE] == 1: event_id = dbhelper.insert(help_sql%(data[KEY.ID], data[KEY.TYPE], data[KEY.MAX_PEOPLE])) else: event_id = dbhelper.insert(sql%(data[KEY.ID], data[KEY.TYPE])) #event_id = dbhelper.insert(sql%(data[KEY.ID], data[KEY.TYPE])) print "From add_event_handler: database event id: %d"%event_id if event_id > 0: data[KEY.EVENT_ID] = event_id update_event(data) # consume love_coins when adding events if data[KEY.TYPE] == 0: minus = "update loving_bank set coin = coin-1 where user_id = %d" elif data[KEY.TYPE] == 1: minus = "update loving_bank set coin = coin-2 where user_id = %d" elif data[KEY.TYPE] == 2: minus = "update loving_bank set coin = coin-3 where user_id = %d" dbhelper.execute(minus%(data[KEY.ID])) return event_id except: return -1
def createForum(): obj = forum.deserializeObject(request.json, forum) obj.creator = basic_auth.username good = helper.ifexist(dbPath, obj, ["name"], 409) if not good: return dbhelper.insert(dbPath, obj) return make_response(obj.serializeJson(), 201)
def add_account(data): if KEY.ACCOUNT not in data or KEY.PASSWORD not in data or KEY.NAME not in data or KEY.NICKNAME not in data: return -1 salt = ''.join(random.sample(string.ascii_letters, 8)) md5_encode = hashlib.md5() md5_encode.update(data[KEY.PASSWORD]+salt) password = md5_encode.hexdigest() sql_account = "insert into account (account, password, salt, nickname, name) values (%d, '%s', '%s', '%s', '%s')" sql_user = "******" try: insert_id = dbhelper.insert(sql_account%(data[KEY.ACCOUNT], password, salt, data[KEY.NICKNAME], data[KEY.NAME])) dbhelper.insert(sql_user%(insert_id, data[KEY.NAME], data[KEY.NICKNAME], data[KEY.ACCOUNT])) return insert_id except: return -1
def create_bank(data): sql = "insert into bank (bank_name, grade, coin) values (%s, %d, %d)" event_id = -1 try: event_id = dbhelper.insert(sql%(data[KEY.BANK_NAME], data[KEY.GRADE],data[KEY.COIN])) return event_id except: return -1
def add_account(data): if KEY.ACCOUNT not in data or KEY.PASSWORD not in data: return -1 salt = ''.join(random.sample(string.ascii_letters, 8)) md5_encode = hashlib.md5() md5_encode.update(data[KEY.PASSWORD] + salt) password = md5_encode.hexdigest() sql_account = "insert into account (account, password, salt) values ('%s', '%s', '%s')" sql_user = "******" try: insert_id = dbhelper.insert(sql_account % (data[KEY.ACCOUNT], password, salt)) dbhelper.insert(sql_user % (insert_id, data[KEY.ACCOUNT])) return insert_id except: return -1
def create_sign(data): sql = "insert into sign (sign_name, sign_history, sign_time) values (%s, %d, now())" event_id = -1 try: event_id = dbhelper.insert(sql%(data[KEY.SIGN_NAME], data[KEY.SIGN_HISTORY],data[KEY.SIGN_TIME])) return event_id except: return -1
def create_loving_bank(data, init_coin=0, init_score=0): if KEY.ID not in data: return -1 sql = "insert into loving_bank (userid, love_coin, score_rank, score_exchange) values (%d, %d, %d, %d)" try: bank_account_id = dbhelper.insert(sql%(data[KEY.ID], init_coin, init_score, init_score)) return bank_account_id except: return -1
def add_account(data): if KEY.USER_ID not in data or KEY.PASSWORD not in data: return -1 sql_account = "insert into alluser (user_id, password, phone, job, age, gender, health_state) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s')" try: insert_id = dbhelper.insert(sql_account%(data[KEY.USER_ID],data[KEY.PASSWORD],data[KEY.PHONE],data[KEY.JOB],data[KEY.AGE],data[KEY.GENDER],data[KEY.HEALTH_STATE])) return insert_id except: return -1
def create_loving_bank(data, init_coin=0, init_score=0): if KEY.ID not in data: return -1 sql = "insert into loving_bank (user_id, coin, score, ac_score) values (%d, %d, %d, %d)" try: bank_account_id = dbhelper.insert( sql % (data[KEY.ID], init_coin, init_score, init_score)) return bank_account_id except: return -1
def illness_record(data): if KEY.ID not in data or KEY.CONTENT not in data: return -1 sql = "insert into illness (user_id, content, time) values (%d, '%s', now())" illness_id = -1 try: illness_id = dbhelper.insert(sql % (data[KEY.ID], data[KEY.CONTENT])) except: illness_id = -1 finally: return illness_id
def add_answer(data): sql = "insert into answer (answer_id, question_id, answer_content, answer_type, answer_time) values (%s, %s, %s, %s, now())" event_id = -1 try: event_id = dbhelper.insert(sql%(data[KEY.ANSWER_ID], data[KEY.QUESTION_ID],data[KEY.ANSWER_CONTENT],data[KEY.ANSWER_TYPE],data[KEY.ANSWER_TIME])) if event_id > 0: data[KEY.ANSWER_ID] = answer_id update_event(data) return event_id except: return -1
def health_record(data): if KEY.ID not in data or KEY.TYPE not in data or KEY.VALUE not in data: return -1 sql = "insert into health (user_id, type, value, time) values (%d, %d, %f, now())" record_id = -1 try: record_id = dbhelper.insert(sql % (data[KEY.ID], data[KEY.TYPE], data[KEY.VALUE])) except: record_id = -1 finally: return record_id
def add_account(data): if KEY.ACCOUNT not in data or KEY.PASSWORD not in data: return -1 salt = ''.join(random.sample(string.ascii_letters, 8)) md5_encode = hashlib.md5() md5_encode.update(data[KEY.PASSWORD]+salt) password = md5_encode.hexdigest() chat_token = getToken.getToken(data[KEY.ACCOUNT], None, None) sql_account = "insert into account (account, password, salt, chat_token) values ('%s', '%s', '%s', '%s')" sql_user = "******" try: insert_id = dbhelper.insert(sql_account%(data[KEY.ACCOUNT], password, salt, chat_token)) dbhelper.insert(sql_user%(insert_id, data[KEY.ACCOUNT], data[KEY.ACCOUNT])) print insert_id return insert_id except Exception, e: print e return -1
def add_question(data): sql = "insert into question (question_id, question_content, question_type, question_time) values (%s, %s, %s, now())" event_id = -1 try: event_id = dbhelper.insert(sql%(data[KEY.QUESTION_ID], data[KEY.QUESTION_CONTENT],data[KEY.QUESTION_TYPE],data[KEY.QUESTION_TIME])) if event_id > 0: data[KEY.QUESTION_ID] = question_id update_event(data) return event_id except: return -1
def add_comment(data): if KEY.ID not in data or KEY.EVENT_ID not in data: return -1 if KEY.CONTENT not in data: return -1 sql = "insert into comment (event_id, author, content, time) values (%d, %d, '%s', now())" try: comment_id = dbhelper.insert(sql % (data[KEY.EVENT_ID], data[KEY.ID], data[KEY.CONTENT])) return comment_id except: return -1
def illness_record(data): if KEY.ID not in data or KEY.CONTENT not in data: return -1 sql = "insert into illness (user_id, content, time) values (%d, '%s', now())" illness_id = -1 try: illness_id = dbhelper.insert(sql%(data[KEY.ID], data[KEY.CONTENT])) except: illness_id = -1 finally: return illness_id
def add_comment(data): if KEY.ID not in data or KEY.EVENT_ID not in data: return -1 if KEY.CONTENT not in data: return -1 sql = "insert into comment (event_id, author, content, time) values (%d, %d, '%s', now())" try: comment_id = dbhelper.insert( sql % (data[KEY.EVENT_ID], data[KEY.ID], data[KEY.CONTENT])) return comment_id except: return -1
def health_record(data): if KEY.ID not in data or KEY.TYPE not in data or KEY.VALUE not in data: return -1 sql = "insert into health (user_id, type, value, time) values (%d, %d, %f, now())" record_id = -1 try: record_id = dbhelper.insert( sql % (data[KEY.ID], data[KEY.TYPE], data[KEY.VALUE])) except: record_id = -1 finally: return record_id
def add_event(data): if KEY.ID not in data or KEY.TYPE not in data: return -1 sql = "insert into event (launcher, type, time) values (%d, %d, now())" event_id = -1 try: event_id = dbhelper.insert(sql % (data[KEY.ID], data[KEY.TYPE])) if event_id > 0: data[KEY.EVENT_ID] = event_id update_event(data) return event_id except: return -1
def add_answer(data): if KEY.AUTHOR_ID not in data or KEY.EVENT_ID not in data or KEY.CONTENT not in data: return -1 sql = "insert into answer (event_id, author_id) values (%d, %d)" answer_id = -1 try: answer_id = dbhelper.insert(sql%(data[KEY.EVENT_ID], data[KEY.AUTHOR_ID])) if answer_id > 0: data[KEY.ANSWER_ID] = answer_id update_answer(data) return answer_id except: return -1
def createUser(): obj = user.deserializeObject(request.json, user) good = helper.ifexist(dbPath, obj, ["username"], 409) if not good: return obj = dbhelper.insert(dbPath, obj) response = make_response("", 201) return response
def sign_in(data): if KEY.ID not in data: return False if is_sign_in(user_id): return False sql = "insert into sign_in (user_id, time) values (%d, now())" try: sign_in_id = dbhelper.insert(sql % (data[KEY.ID])) if sign_in_id > 0: return True else: return False except: return False
def health_record(data): if KEY.ID not in data: return -1 sql = "insert into health (user_id, time) values (%d, now())"%data[KEY.ID] record_id = -1 try: record_id = dbhelper.insert(sql) if record_id > 0: if not update_health_record(data): return -1 return record_id except: record_id = -1 finally: return record_id
def record_login(data): if KEY.ID not in data: return False sql = "insert into sign_in (user_id, time) values (%d, now())" result = -1 try: result = dbhelper.insert(sql % (data[KEY.ID])) if result > 0: return True else: return False except: return False
def add_comment(data): if KEY.ID not in data or KEY.EVENT_ID not in data: return -1 if KEY.CONTENT not in data: return -1 data[KEY.CONTENT] = MySQLdb.escape_string(data[KEY.CONTENT].encode("utf8")) if KEY.PARENT_AUTHOR not in data: sql = "insert into comment (event_id, author, content, time) values (%d, %d, '%s', now())" sql = sql%(data[KEY.EVENT_ID], data[KEY.ID], data[KEY.CONTENT]) else: sql = "insert into comment (event_id, author, content, time, parent_author) values (%d, %d, '%s', now(), %d)" sql = sql%(data[KEY.EVENT_ID], data[KEY.ID], data[KEY.CONTENT], data[KEY.PARENT_AUTHOR]) try: comment_id = dbhelper.insert(sql) return comment_id except: return -1
def createPost(forum_id, thread_id): checkObj = thread() checkObj.id = thread_id checkObj.forum_id = forum_id good = helper.ifnotexist(dbPath, checkObj, ["id", "forum_id"], 404) if not good: return obj = post.deserializeObject(request.json, post) obj.thread_id = thread_id obj.poster = basic_auth.username obj.timestamp = datetime.datetime.now() obj = dbhelper.insert(dbPath, obj) response = make_response(obj.serializeJson(), 201) return response
def createThread(forum_id): obj = thread.deserializeObject(request.json, thread) obj.forum_id = forum_id obj.author = basic_auth.username obj.timestamp = datetime.datetime.now() good = helper.ifnotexist(dbPath, obj, ["forum_id"], 404) if not good: return obj = dbhelper.insert(dbPath, obj) response = make_response(obj.serializeJson(), 201) response.headers["Location"] = "{url}/{forum_id}/{thread_id}".format( url="/forums", forum_id=obj.forum_id, thread_id=obj.id) return response
def add_event(data): if KEY.ID not in data or KEY.TYPE not in data or KEY.TITLE not in data: return -1 if KEY.LOVE_COIN in data: user = {} user[KEY.USER_ID] = data[KEY.ID] bank_info = get_user_loving_bank(user) if bank_info[KEY.LOVE_COIN] - data[KEY.LOVE_COIN] < 0: return -2 sql = "insert into event (launcher, type, time) values (%d, %d, now())" event_id = -1 try: event_id = dbhelper.insert(sql%(data[KEY.ID], data[KEY.TYPE])) if event_id > 0: data[KEY.EVENT_ID] = event_id if not update_event(data): return -1 return event_id except: return -1
def sign_in(data): if KEY.ID not in data: return False if is_sign_in(data[KEY.ID]): return False sql = "insert into sign_in (user_id, time) values (%d, now())" try: sign_in_id = dbhelper.insert(sql%(data[KEY.ID])) if sign_in_id > 0: # every day sign in and coin increase 2 incre = "update loving_bank set coin = coin+2 where user_id = %d" a = dbhelper.execute(incre%(data[KEY.ID])) print " ", a print " ", a print " ", a print " ", a print " ", a return True else: return False except: return False