def delete_user_post(user_id, rst_id): """UserPostテーブルから、user_idとrst_idの組をもつ行を削除する """ if not user_id: return False session = Session() try: userpost = ( session.query(UserPost) .filter("user_id = :user_id and rst_id = :rst_id") .params(user_id=user_id, rst_id=rst_id) .first() ) print userpost session.delete(userpost) session.flush() session.commit() session.close() return True except Exception, e: print "delete_user_post :", e session.rollback() session.commit() session.close() return False
def _insert_or_update_title(id=None, rank=None, name=None, requirement=None, stamp=None): """称号の運営用 新しく称号を追加、更新するために使う """ now = datetime.now() session = Session() if not name or not requirement: print "称号名と取得条件を入力してください" return False title = session.query(Title).filter(Title.id == id).limit(1).first() try: if title: title.rank = rank title.stamp = stamp title.modified = now print "title update", else: title = Title(id, rank, name, requirement, stamp, now, now) session.add(title) print "title insert", print name session.flush() session.commit() session.close() return True except Exception, e: print e session.rollback() session.commit() session.close() return False
def update_userstats(\ user_id, total=None, sequence=None, level_1=None, level_2=None, level_3=None, level_4=None, level_5=None, \ sakyo=None, ukyo=None, kita=None, kamigyo=None, shimogyo=None, \ nakagyo=None, higashiyama=None, yamashina=None, saikyo=None, \ minami=None, fushimi=None, already_acquire=None): now = datetime.now() session = Session() userstats = session.query(UserStats).filter(user_id=user_id).first() if total: userstats.total = total if sequence: userstats.sequence = sequence if level_1: userstats.level_1 = level_1 if level_2: userstats.level_2 = level_2 if level_3: userstats.level_3 = level_3 if level_4: userstats.level_4 = level_4 if level_5: userstats.level_5 = level_5 if sakyo: userstats.sakyo = sakyo if ukyo: userstats.ukyo = ukyo if kita: userstats.kita = kita if kamigyo: userstats.kamigyo = kamigyo if shimogyo: userstats.shimogyo = shimogyo if nakagyo: userstats.nakagyo = nakagyo if higashiyama: userstats.higashiyama = higashiyama if yamashina: userstats.yamashina = yamashina if saikyo: userstats.saikyo = saikyo if minami: userstats.minami = minami if fushimi: userstats.fushimi = fushimi if already_acquire: userstats.already_acquire = already_acquire userstats.modified = now try: session.flush() session.commit() except Exception ,e: session.rollback() print e session.commit() session.close() return False
def delete_userstats(user_id): session = Session() try: userstats = session.query(UserStats).filter(user_id=user_id).first() print userstats session.delete(userstats) session.flush() session.commit() session.close() return True except Exception, e: print "delete_userstats :", e session.rollback() session.commit() session.close() return False
def delete_title(id): session = Session() try: title = session.query(Title).filter(Title.id == id).first() print title session.delete(title) session.flush() session.commit() session.close() return True except Exception, e: print "delete_user_post :", e session.rollback() session.commit() session.close() return False # }}}
def set_default_difficulty(fname='situation.dict'): print 'load_pickle ... ', dic = load_pickle(fname) print 'done.' scores = calc_default_difficulty(dic) print 'calc_default_difficulty ... done.' del dic con = MySQLdb.connect(db=db, host=host,\ user=user, passwd=passwd, charset=charset) cur = con.cursor() user_id, comment = 19, '' get_rstid = 'select Rcd from tabelog where tabelogurl = %s limit 1' session = Session() i, count = 1, len(scores) for_add = [] for url, difficulty in scores.iteritems(): print '{i} / {count} url'.format(i=i, count=count) difficulty = round(difficulty, 1) i += 1 result = cur.execute(get_rstid, url) rst_id = cur.fetchone()[0] if result else None now = datetime.now() userpost = session.query(UserPost)\ .filter('user_id = :user_id and rst_id = :rst_id')\ .params(user_id=user_id, rst_id=rst_id).first() if userpost: print 'update' userpost.modified = now userpost.difficulty = difficulty userpost.comment = comment else: print 'insert' user_post = UserPost(user_id, rst_id, difficulty, comment, now, now) # session.begin() for_add.append(user_post) try: session.add_all(for_add) session.flush() session.commit() session.close() except Exception ,e: session.rollback() print e session.close() return False
def update_title(title_id, rank, name, requirement, stamp): now = datetime.now() session = Session() title = session.query(Title).filter(Title.id == title_id) title.rank = rank title.name = name title.requirement = requirement title.stamp = stamp title.modified = now try: session.flush() session.commit() except Exception, e: session.rollback() print e session.commit() session.close() return False
def insert_or_update_user_post(user_id, rst_id, difficulty, comment): """UserPostテーブルにinsert or updateを行う そのrowのidを返す """ session = Session() now = datetime.now() userpost = _check_user_post_is_exists(session, user_id, rst_id) if userpost: print "update user_post" try: userpost.modified = now userpost.difficulty = difficulty userpost.comment = comment inserted_id = userpost.id session.flush() except Exception, e: print e session.rollback() session.close()
def delete_user(user_id, confirmation=False): """Userテーブルからユーザーを削除 確認(confirmation)を指定する """ if not confirmation: return False session = Session() try: user = session.query(User).filter("id = :user_id").params(user_id=user_id).first() session.delete(user) session.flush() session.commit() session.close() return True except Exception, e: session.rollback() print e session.commit() session.close() return False # }}}
def update_user(user_id, new_name, new_place): """Userテーブルを更新 返り値はTrue or False """ session = Session() now = datetime.now() try: user = session.query(User).filter("id = :user_id").params(user_id=user_id).first() user.user_name = new_name.replace("\n", "") user.home_place = new_place user.modified = now session.flush() session.commit() session.close() return True except Exception, e: session.rollback() print e session.commit() session.close() return False
def delete_user_post(user_id, rst_id): '''UserPostテーブルから、user_idとrst_idの組をもつ行を削除する ''' if not user_id: return False session = Session() try: userpost = session.query(UserPost)\ .filter('user_id = :user_id and rst_id = :rst_id')\ .params(user_id = user_id, rst_id = rst_id).first() print userpost session.delete(userpost) session.flush() session.commit() session.close() return True except Exception, e: print 'delete_user_post :', e session.rollback() session.commit() session.close() return False