Esempio n. 1
0
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
Esempio n. 2
0
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)
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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
Esempio n. 9
0
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
Esempio n. 10
0
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
Esempio n. 11
0
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
Esempio n. 12
0
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
Esempio n. 13
0
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
Esempio n. 14
0
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
Esempio n. 15
0
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
Esempio n. 16
0
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
Esempio n. 17
0
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
Esempio n. 18
0
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
Esempio n. 19
0
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
Esempio n. 20
0
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
Esempio n. 21
0
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
Esempio n. 22
0
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
Esempio n. 23
0
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
Esempio n. 24
0
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
Esempio n. 25
0
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
Esempio n. 26
0
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
Esempio n. 27
0
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
Esempio n. 28
0
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
Esempio n. 29
0
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
Esempio n. 30
0
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
Esempio n. 31
0
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