def calc_average_max_rank(team): """ Calculates the average and max player rank for a given team and sets it for the team :param team: Team, a Team object containing a list of players with set ranks :return: Team, the same object that was given but with its average and max rank set """ logger.debug("calculating average and max rank for the team " + team.name) ranks = [] for player in team.player_list: if player.rank is not None and player.rank.rating > 0: ranks.append(player.rank) count = len(ranks) rank_sum = 0 list_ratings = [] for rank in ranks: rank_sum += rank.rating list_ratings.append(rank.rating) if count == 0: average = 0 max_rank = 0 else: average = round(rank_sum / count) max_rank = max(list_ratings) team.average_rank = Rank(rating_lookup.get(average), average) team.max_rank = Rank(rating_lookup.get(max_rank), max_rank) return team
def get(self): self.response.headers['Content-type'] = "text/plain" npp = 12 category = 'apps_topselling_free' page = int(self.request.get("page")) url = 'http://market.android.com/details?id=%s&cat=GAME&start=%d&num=%d' % ( category, page * npp, npp) html = urlfetch.fetch(url, deadline=10).content soup = BeautifulSoup(html) applist = soup.findAll('a', {"class": re.compile("title")}) formatted = [(unicode(app.contents[0]), unicode(app['href']).replace('/details?id=', '')) for app in applist] n = page * npp for item in formatted: n += 1 name, uniqueid = item r = Rank(key_name=str(n), name=name, uniqueid=uniqueid, rank=n, category=category) r.put() self.response.out.write("done")
def get_ranks(user): tmp = db_select( "dmob_user_rating", where_condition="user = %s", values=(user.id, ), ) from models import Rank return [Rank(*x) for x in tmp]
def add_rank(): json_data = request.get_json() rank = Rank(json_data['price'], json_data['name'], json_data['duration'], json_data['server_id']) if('description' in json_data): rank.description = json_data['description'] db.session.add(rank) db.session.commit() return Response(status=201)
def update_ratings(self): self.update_score() rated_members = self.members old_rating = [x.user.rating for x in rated_members] old_volatility = [x.user.volatility for x in rated_members] actual_rank = list(range(1, len(rated_members) + 1)) times_rated = [len(x.user.rank) for x in rated_members] new_rating, new_volatility = recalculate_ratings( old_rating, old_volatility, actual_rank, times_rated) for x in range(len(rated_members)): database.add_rank( Rank(None, rated_members[x].user.id, new_rating[x], new_volatility[x]))
def add_player_rank(player: Player): """ Call stalk player functions and adds a Rank to the given Player :param player: Player, a Player object with a summoner_name :return: Player, Player object with the same summoner_name and a set Rank """ sum_name = player.summoner_name elo = stalk_player_opgg(sum_name).lower() if elo in rank_lookup: rating = rank_lookup.get(elo) else: rating = 0 rank = Rank(rating_lookup.get(rating), rating) return Player(player.summoner_name, rank)
def parse_rank(response, index, keywords): """rank 结果解析器 """ keyword = keywords[index] rank = Rank(keyword=keyword) rank.update = date.today() next_index = _get_next_page(0, index, 1, len(keywords)) try: json_ranks = response.json().get('value', None) if json_ranks is not None and len(json_ranks) > 0: ranking_list = list() for item in json_ranks: ranking_list.append({ 'product_id': item['id'], 'ranking': item['pageNO'] + item['rowNO']/100, }) rank.ranking = ranking_list except JSONDecodeError: next_index = index return next_index, rank
def init_db(): # import all modules here that might define models so that # they will be registered properly on the metadata. Otherwise # you will have to import them first before calling init_db() from models import Ship, Race, Crew, Rank Base.metadata.drop_all(bind=engine) Base.metadata.create_all(bind=engine) # Create the fixtures vulcan = Race(name='Vulcan') db_session.add(vulcan) human = Race(name='Human') db_session.add(human) kelpien = Race(name='Kelpien') db_session.add(kelpien) synthetic = Race(name='Synthetic') db_session.add(synthetic) kelpien = Race(name='Kelpien') db_session.add(kelpien) synthetic = Race(name='Synthetic') db_session.add(synthetic) klingon = Race(name='Klingon') db_session.add(klingon) barzan = Race(name='Barzan') db_session.add(barzan) captain = Rank(name='Captain') db_session.add(captain) first_officer = Rank(name='First Officer') db_session.add(first_officer) chief_engineer = Rank(name='Chief Engineer') db_session.add(chief_engineer) science_officer = Rank(name='Science Officer') db_session.add(science_officer) chief_medical_officer = Rank(name='Chief Medical Officer') db_session.add(chief_medical_officer) communication_officer = Rank(name=' Communication Officer') db_session.add(communication_officer) ensign = Rank(name='Ensign') db_session.add(ensign) helmsman = Rank(name='Helmsman') db_session.add(helmsman) security_chief = Rank(name='Security Chief') db_session.add(security_chief) operations_officer = Rank(name='Operations Officer') db_session.add(operations_officer) transporter_chief = Rank(name='Transporter Chief') db_session.add(transporter_chief) discovery = Ship(name='U.S.S Discovery') db_session.add(discovery) enterprise = Ship(name='U.S.S. Enterprise') db_session.add(enterprise) jl = Crew(name='Jean-Luc Picard', ship=enterprise, race=human, rank=captain) db_session.add(jl) pike = Crew(name='Christopher Pike', ship=discovery, race=human, rank=captain) db_session.add(pike) lorca = Crew(name='Gabriel Lorca', ship=discovery, race=human, rank=captain) db_session.add(lorca) riker = Crew(name='William Riker', ship=enterprise, race=human, rank=first_officer) db_session.add(riker) saru = Crew(name='Saru', ship=discovery, race=kelpien, rank=first_officer) db_session.add(saru) la = Crew(name='Geordi La Forge', ship=enterprise, race=human, rank=chief_engineer) db_session.add(la) reno = Crew(name='Jett Reno', ship=discovery, race=human, rank=chief_engineer) db_session.add(reno) data = Crew(name='Data', ship=enterprise, race=synthetic, rank=science_officer) db_session.add(data) burn = Crew(name='Michael Burnham', ship=discovery, race=human, rank=science_officer) db_session.add(burn) b_crusher = Crew(name='Beverly Crusher', ship=enterprise, race=human, rank=chief_medical_officer) db_session.add(b_crusher) pulaski = Crew(name='Katherine Pulaski', ship=enterprise, race=human, rank=chief_medical_officer) db_session.add(pulaski) hugh = Crew(name='Hugh Culbe', ship=discovery, race=human, rank=chief_medical_officer) db_session.add(hugh) tracy = Crew(name='Tracy Pollard', ship=discovery, race=human, rank=chief_medical_officer) db_session.add(tracy) pend = Crew(name='Pendleton', ship=enterprise, race=human, rank=communication_officer) db_session.add(pend) ra = Crew(name='R.A. Bryce', ship=discovery, race=human, rank=communication_officer) db_session.add(ra) wc = Crew(name='Wesley Crusher', ship=enterprise, race=human, rank=helmsman) db_session.add(wc) keyla = Crew(name='Keyla Detmer', ship=discovery, race=human, rank=helmsman) db_session.add(keyla) worf = Crew(name='Worf', ship=enterprise, race=klingon, rank=security_chief) db_session.add(worf) nhan = Crew(name='Nhan', ship=discovery, race=barzan, rank=security_chief) db_session.add(nhan) data = Crew(name='Data', ship=enterprise, race=synthetic, rank=operations_officer) db_session.add(data) joann = Crew(name='Joann Owosekun', ship=discovery, race=human, rank=operations_officer) db_session.add(joann) miles = Crew(name='Miles O’Brien', ship=enterprise, race=human, rank=transporter_chief) db_session.add(miles) airiam = Crew(name='Airiam', ship=discovery, race=synthetic, rank=transporter_chief) db_session.add(airiam) w_c2 = Crew(name='Wesley Crusher', ship=enterprise, race=human, rank=ensign) db_session.add(w_c2) st = Crew(name='Sylvia Tilly', ship=discovery, race=human, rank=ensign) db_session.add(st) db_session.commit()