コード例 #1
0
ファイル: db.py プロジェクト: sherily123/ehelp_server
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
コード例 #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)
コード例 #3
0
ファイル: db.py プロジェクト: sherily123/ehelp_server
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
コード例 #4
0
ファイル: db.py プロジェクト: zhongshanwhy/ehelp-server
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
コード例 #5
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #6
0
ファイル: db.py プロジェクト: zhongshanwhy/ehelp-server
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
コード例 #7
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #8
0
ファイル: db.py プロジェクト: zhongshanwhy/ehelp-server
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
コード例 #9
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #10
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #11
0
ファイル: db.py プロジェクト: zhongshanwhy/ehelp-server
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
コード例 #12
0
ファイル: db.py プロジェクト: najasum/ehelp_server
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
コード例 #13
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #14
0
ファイル: db.py プロジェクト: zhongshanwhy/ehelp-server
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
コード例 #15
0
ファイル: db.py プロジェクト: najasum/ehelp_server
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
コード例 #16
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #17
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #18
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #19
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #20
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #21
0
ファイル: db.py プロジェクト: najasum/ehelp_server
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
コード例 #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
コード例 #23
0
ファイル: db.py プロジェクト: najasum/ehelp_server
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
コード例 #24
0
ファイル: db.py プロジェクト: hs-TA/ehelp_server
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
コード例 #25
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #26
0
ファイル: dblove.py プロジェクト: sjl421/2015-2016-Project
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
コード例 #27
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #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
コード例 #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
コード例 #30
0
ファイル: db.py プロジェクト: Jrodriguez1/ehelp_server
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
コード例 #31
0
ファイル: db.py プロジェクト: sherily123/ehelp_server
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