def post(self): username = self.get_argument('username') item_id = self.get_argument('item_id') try: file1 = self.request.files['file'][0] except: file1 = None final_string = '' session = Session() try: user = dbutils.get_or_create(session, User, username=username) item = dbutils.get_or_create(session, Item, item_id=item_id) item_completion = dbutils.get_or_create(session, ItemCompletion, item_id=item.id, user_id=user.id) if file1 is not None: original_fname = file1['filename'] extension = os.path.splitext(original_fname)[1] final_filename = item_id + extension if not os.path.exists("./uploads"): os.makedirs("./uploads") if not os.path.exists("./uploads/%s" % username): os.makedirs("./uploads/%s" % username) output_file = open("./uploads/" + username + "/" + final_filename, 'wb') output_file.write(file1['body']) item_completion.file_path = "uploads/" + username + "/" + final_filename session.add(item_completion) session.commit() final_string = "You have crossed item " + item_id + " off your bucket list!" except Exception, e: session.rollback() logger.exception(e) final_string = "Oops! Something went wrong. Please try again"
def populate_powerups(): session = Session() dbl_shot_pwr = get_or_create(session, Powerup, title='double_shot', cost=DOUBLE_SHOT_PRICE, description="Double the number of shots you can fire in 24 hours") reload_pwr = get_or_create(session, Powerup, title='fast_reload', cost=FAST_RELOAD_PRICE, description="Half the time it takes to fire again") bdy_dbl_pwr = get_or_create(session, Powerup, title='body_double', cost=BODY_DOUBLE_PRICE, description="Have a body double take a shot meant for you") session.commit()
def add_game_master(self, user=None, user_id=None): if user is None and user_id is None: raise Exception("No user or user_id found") elif user is not None and user in self.user_list: get_usergame(user.username, self.id).is_game_master = True elif user is not None and user not in self.user_list: self.add_user(user, True) elif user_id is not None: get_or_create(Session(), UserGame, user_id=user_id, game_id=self.id)
def __init__(self, game_id, club_id, position, points, hits, username): self.user_id = get_or_create(Session(), User, username=username).id self.game_id = game_id self.club_id = club_id self.position = position self.points = points self.hits = hits
def post(self): username = self.get_argument('username') game_id = self.get_argument('game_id') session = Session() try: user = dbutils.get_or_create(session, User, username=username) except Exception, e: session.rollback() final_string = "Oops! Something went wrong. Please try again"
def process_game(game, dt_stamp, session): logger = logging.getLogger('process_game') left_team_id, right_team_id = get_team_ids(game) left_team_names, right_team_names = get_team_names(game) game_info = get_game_info(game, left_team_id) left_logo, right_logo = get_logos(game, left_team_names[0], right_team_names[0]) logger.debug('game processing: %s' % simplejson.dumps(game_info)) if len(session.query(Game).filter_by(ea_id=game_info['id']).all()) == 0: # new game left_club = get_or_create(session, Club, False, ea_id=left_team_id, name=left_team_names[0], abbr=left_team_names[1]) right_club = get_or_create(session, Club, False, ea_id=right_team_id, name=right_team_names[0], abbr=right_team_names[1]) logger.info('New Game: %s vs %s' %(left_club.name, right_club.name)) left_club.update_logo(left_logo) right_club.update_logo(right_logo) game = get_or_create(session, Game, \ ea_id=game_info['id'], club_1_id=left_club.id, \ club_1_score=game_info['score'][0], \ club_2_id=right_club.id, club_2_score=game_info['score'][1],\ time=game_info['time'], ea_page_timestamp=dt_stamp) ranks = [get_rank_info(club) for club in [left_club, right_club]] game.update_rank_info(ranks) match_detail_html = requests.get(game_info['url']).content match_detail_soup = BeautifulSoup(match_detail_html) try: left_team_stats, right_team_stats = get_team_stats(match_detail_soup) except ValueError as e: return try: for player in left_team_stats: usergame= UserGame(username=player['player_name'], game_id=game.id, \ club_id=left_club.id, position=player['Position'], points=player['Points'], \ hits=player['Total Number of Hits']) session.add(usergame) session.flush() for player in right_team_stats: usergame = UserGame(username=player['player_name'], game_id=game.id, \ club_id=right_club.id, position=player['Position'], points=player['Points'], \ hits=player['Total Number of Hits']) session.add(usergame) session.flush() except Exception as e: session.rollback() logger.exception(e) else: logger.debug('Game already processed')
def get(self): username = self.get_argument('username') session = Session() try: user = dbutils.get_or_create(session, User, username=username) final_string = "User creation successful!" except Exception, e: session.rollback() final_string = "User creation failed."
def get(self): item_id = self.get_argument('itemid') description = self.get_argument('description', '') session = Session() try: item = dbutils.get_or_create(session, Item, item_id=item_id) item.description = description session.add(item) session.flush() session.commit() finish_string = "Item added" # completed_items = session.Query(ItemCompletion).filter() except Exception, e: session.rollback() finish_string = "Item not added"
def get(self): username = self.get_argument('username') session = Session() try: user = dbutils.get_or_create(session, User, username=username) item_array = [] for item_completion in user.completed_items: item = item_completion.item info_dict = item.serialize() if item_completion.file_path is not None: info_dict['image'] = item_completion.file_path else: info_dict['image'] = '' item_array.append(info_dict) # completed_items = session.Query(ItemCompletion).filter() except Exception, e: session.rollback()
def process_game(game_id): game_url = base_game_details_url % game_id game_req = urllib2.Request(game_url, None, headers) try: game_result_html = urllib2.urlopen(game_req, None, 30).read() game_soup = BeautifulSoup(game_result_html) our_stats = game_soup.find('div', {"class":'yui-u first'}) guys_who_played = our_stats.findAll('a', {"title":lambda x: x and x.startswith('View'), "class":None}) session = Session() game = Game(match_id=game_id) session.add(game) session.flush() for teammate in guys_who_played: player = dbutils.get_or_create(session, Player, username=teammate.contents[0]) game_played = GamePlayed(player.id, game.id) session.add(game_played) session.flush() session.commit() Session.remove() pass except Exception, e: print('Game request failed for %s' % game_id)
def add_user(self, user, is_game_master=False): s = Session() usergame = get_or_create(s, UserGame, user_id=user.id, game_id=self.id, is_game_master=is_game_master, max_shots_per_24_hours=self.max_shots_per_24_hours, max_shot_interval_minutes=self.max_shot_interval_minutes) s.commit()