def report_single(pokemon_id, area_name=conf.AREA_NAME, key=conf.GOOGLE_MAPS_KEY if conf.REPORT_MAPS else None): with db.session_scope() as session: session_stats = db.get_session_stats(session) js_data = { 'charts_data': { 'hours': db.get_spawns_per_hour(session, pokemon_id), }, 'map_center': center, 'zoom': 13, } return render_template( 'report_single.html', current_date=datetime.now(), area_name=area_name, area_size=area, pokemon_id=pokemon_id, pokemon_name=POKEMON[pokemon_id], total_spawn_count=db.get_total_spawns_count(session, pokemon_id), session_start=session_stats['start'], session_end=session_stats['end'], session_length_hours=int(session_stats['length_hours']), google_maps_key=key, js_data=js_data, )
def report_single(pokemon_id): session = db.Session(autoflush=False) session_stats = db.get_session_stats(session) js_data = { 'charts_data': { 'hours': db.get_spawns_per_hour(session, pokemon_id), }, 'map_center': utils.MAP_CENTER, 'zoom': 13, } template = render_template( 'report_single.html', current_date=datetime.now(), area_name=config.AREA_NAME, area_size=utils.get_scan_area(), pokemon_id=pokemon_id, pokemon_name=POKEMON_NAMES[pokemon_id], total_spawn_count=db.get_total_spawns_count(session, pokemon_id), session_start=session_stats['start'], session_end=session_stats['end'], session_length_hours=int(session_stats['length_hours']), google_maps_key=config.GOOGLE_MAPS_KEY, js_data=js_data, ) session.close() return template
def report_main(area_name=conf.AREA_NAME, names=POKEMON, key=get_google_maps_key() if conf.REPORT_MAPS else None): with db.session_scope() as session: counts = db.get_sightings_per_pokemon(session) count = sum(counts.values()) counts_tuple = tuple(counts.items()) nonexistent = [(x, names[x]) for x in range(1, 387) if x not in counts] del counts top_pokemon = list(counts_tuple[-30:]) top_pokemon.reverse() bottom_pokemon = counts_tuple[:30] rare_pokemon = [r for r in counts_tuple if r[0] in conf.RARE_IDS] if rare_pokemon: rare_sightings = db.get_all_sightings( session, [r[0] for r in rare_pokemon] ) else: rare_sightings = [] js_data = { 'charts_data': { 'punchcard': db.get_punch_card(session), 'top30': [(names[r[0]], r[1]) for r in top_pokemon], 'bottom30': [ (names[r[0]], r[1]) for r in bottom_pokemon ], 'rare': [ (names[r[0]], r[1]) for r in rare_pokemon ], }, 'maps_data': { 'rare': [sighting_to_report_marker(s) for s in rare_sightings], }, 'map_center': center, 'zoom': 13, } icons = { 'top30': [(r[0], names[r[0]]) for r in top_pokemon], 'bottom30': [(r[0], names[r[0]]) for r in bottom_pokemon], 'rare': [(r[0], names[r[0]]) for r in rare_pokemon], 'nonexistent': nonexistent } session_stats = db.get_session_stats(session) return render_template( 'report.html', current_date=datetime.now(), area_name=area_name, area_size=area, total_spawn_count=count, spawns_per_hour=count // session_stats['length_hours'], session_start=session_stats['start'], session_end=session_stats['end'], session_length_hours=session_stats['length_hours'], js_data=js_data, icons=icons, google_maps_key=key, )
def report_main(): session = db.Session(autoflush=False) counts = db.get_sightings_per_pokemon(session) session_stats = db.get_session_stats(session) session.close() count = sum(counts.values()) counts_tuple = tuple(counts.items()) top_pokemon = list(counts_tuple[-30:]) top_pokemon.reverse() bottom_pokemon = counts_tuple[:30] nonexistent = [(x, POKEMON_NAMES[x]) for x in range(1, 152) if x not in counts] rare_pokemon = [r for r in counts_tuple if r[0] in config.RARE_IDS] if rare_pokemon: rare_sightings = db.get_all_sightings(session, [r[0] for r in rare_pokemon]) else: rare_sightings = [] js_data = { 'charts_data': { 'punchcard': db.get_punch_card(session), 'top30': [(POKEMON_NAMES[r[0]], r[1]) for r in top_pokemon], 'bottom30': [(POKEMON_NAMES[r[0]], r[1]) for r in bottom_pokemon], 'rare': [(POKEMON_NAMES[r[0]], r[1]) for r in rare_pokemon], }, 'maps_data': { 'rare': [sighting_to_marker(s) for s in rare_sightings], }, 'map_center': utils.MAP_CENTER, 'zoom': 13, } icons = { 'top30': [(r[0], POKEMON_NAMES[r[0]]) for r in top_pokemon], 'bottom30': [(r[0], POKEMON_NAMES[r[0]]) for r in bottom_pokemon], 'rare': [(r[0], POKEMON_NAMES[r[0]]) for r in rare_pokemon], 'nonexistent': nonexistent } area = utils.get_scan_area() return render_template( 'report.html', current_date=datetime.now(), area_name=config.AREA_NAME, area_size=area, total_spawn_count=count, spawns_per_hour=count // session_stats['length_hours'], session_start=session_stats['start'], session_end=session_stats['end'], session_length_hours=session_stats['length_hours'], js_data=js_data, icons=icons, google_maps_key=config.GOOGLE_MAPS_KEY, )