update,
This commit is contained in:
153
ych1990101/task1-optimized/app/notebook/utils/reports.py
Normal file
153
ych1990101/task1-optimized/app/notebook/utils/reports.py
Normal file
@@ -0,0 +1,153 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
from pprint import pprint
|
||||
|
||||
from api_footylogic_com.match.statistics.MarketsInfo import getMarketsInfoJson
|
||||
from api_footylogic_com.match.h2h.RecentformInformation import getRecentformInformationJson
|
||||
from api_footylogic_com.match.h2h.RecentformInformationHomeTeam import getRecentformInformationHomeTeamJson
|
||||
from api_footylogic_com.match.h2h.RecentformInformationAwayTeam import getRecentformInformationAwayTeamJson
|
||||
from api_footylogic_com.tournament.Standings import getStandingsJson
|
||||
from api_footylogic_com.tournament.Competitions import getCompetitionsJson, lookupCompetitionId
|
||||
from api_footylogic_com.tournament.Options import getOptionsJson
|
||||
from api_footylogic_com.match.h2h.Banner import getBannerJson, getTeams, getCompetitionName
|
||||
from api_footylogic_com.match.seasonalstats.DropdownFilters import getDropdownFilters
|
||||
|
||||
from utils.Statistics import getTopBottomWinningAndLoseing
|
||||
from utils.WriteExcel import writeExcel
|
||||
from utils.GetScreenshot import getScreenshot, getScreenshot_bmstatistics, getScreenshot_bmrecentforms, getScreenshot_standings
|
||||
import nest_asyncio
|
||||
import asyncio
|
||||
|
||||
|
||||
def genExcelReport(tournamentID='50022259', matchID='50024766', report_filename="report.xlsx"):
|
||||
competitionId = tournamentID
|
||||
eventId = matchID
|
||||
|
||||
# # extract
|
||||
# # # banner.py
|
||||
banner_json = getBannerJson(eventId)
|
||||
[homeTeamId, awayTeamId] = getTeams(banner_json)
|
||||
competitionName = getCompetitionName(banner_json)
|
||||
|
||||
# # # # 'https://footylogic.com/en/matchcenter/0/'+tournamentID+'/'+matchID+'/bmrecentforms'
|
||||
|
||||
# # match/h2h/RecentformInformation.py
|
||||
getRecentformInformationJson(homeTeamId, awayTeamId)
|
||||
getRecentformInformationHomeTeamJson(homeTeamId, awayTeamId)
|
||||
getRecentformInformationAwayTeamJson(homeTeamId, awayTeamId)
|
||||
|
||||
# # MarketsInfo.py
|
||||
getMarketsInfoJson(eventId, homeTeamId, awayTeamId, competitionId)
|
||||
|
||||
competitions_json = getCompetitionsJson()
|
||||
# competitionId = lookupCompetitionId(competitions_json, competitionName)
|
||||
lookupCompetitionId(competitions_json, competitionName)
|
||||
|
||||
dropdown_filters_json = getDropdownFilters(competitionId)
|
||||
seasonId = dropdown_filters_json['Season'][0]['id']
|
||||
|
||||
options_json = getOptionsJson(competitionId, seasonId)
|
||||
roundId = options_json[0]['id']
|
||||
|
||||
|
||||
# https://api.footylogic.com/tournament/options?languageId=19&channelId=1&competitionId=50019599&seasonId=4456
|
||||
standings_json = getStandingsJson(competitionId, seasonId, roundId)
|
||||
|
||||
# translate
|
||||
json_manifest = {}
|
||||
pattern = r"(?<={jp:)(.*)(?=})"
|
||||
|
||||
os_cwd = os.getcwd()
|
||||
utils_path = os_cwd+'/utils'
|
||||
excel_template_path = '/report_template.xlsx'
|
||||
|
||||
json_store_path = os_cwd+'/jsons'
|
||||
output_path = os_cwd + "/_output"
|
||||
images_path = os_cwd + "/_images"
|
||||
|
||||
markets_info_json_path = json_store_path+'/markets-info.json'
|
||||
recentform_information_json_path = json_store_path+'/recentfrom-information.json'
|
||||
recentform_information_home_team_json_path = json_store_path+'/recentfrom-information-home-team.json'
|
||||
recentform_information_away_team_json_path = json_store_path+'/recentfrom-information-away-team.json'
|
||||
recentform_information_json_path = json_store_path+'/recentfrom-information.json'
|
||||
standings_json_path = json_store_path+'/standings.json'
|
||||
banner_json_path = json_store_path+'/banner.json'
|
||||
json_manifest_json_path = json_store_path+'/json_manifest.json'
|
||||
|
||||
with open(banner_json_path, 'r') as json_file:
|
||||
banner_json = json.load(json_file)
|
||||
json_manifest = {**json_manifest, 'banner_json': banner_json}
|
||||
|
||||
with open(markets_info_json_path, 'r') as json_file:
|
||||
markets_info_json = json.load(json_file)
|
||||
json_manifest = {**json_manifest,
|
||||
'markets-info.json': markets_info_json}
|
||||
|
||||
# to be obsoleted
|
||||
json_manifest = {**json_manifest, **markets_info_json}
|
||||
|
||||
with open(recentform_information_json_path, 'r') as json_file:
|
||||
recentfrom_information_json = json.load(json_file)
|
||||
json_manifest = {
|
||||
**json_manifest, 'recentfrom-information.json': recentfrom_information_json}
|
||||
|
||||
# to be obsoleted
|
||||
json_manifest = {**json_manifest, **recentfrom_information_json}
|
||||
|
||||
with open(recentform_information_home_team_json_path, 'r') as json_file:
|
||||
recentfrom_information_json = json.load(json_file)
|
||||
json_manifest = {
|
||||
**json_manifest, 'recentfrom-information-home-team.json': recentfrom_information_json}
|
||||
|
||||
# to be obsoleted
|
||||
json_manifest = {**json_manifest, **recentfrom_information_json}
|
||||
|
||||
with open(recentform_information_away_team_json_path, 'r') as json_file:
|
||||
recentfrom_information_json = json.load(json_file)
|
||||
json_manifest = {
|
||||
**json_manifest, 'recentfrom-information-away-team.json': recentfrom_information_json}
|
||||
|
||||
# to be obsoleted
|
||||
json_manifest = {**json_manifest, **recentfrom_information_json}
|
||||
|
||||
with open(standings_json_path, 'r') as json_file:
|
||||
standings_json = json.load(json_file)
|
||||
json_manifest = {**json_manifest,
|
||||
'tournament/standings.json': standings_json}
|
||||
|
||||
with open(json_manifest_json_path, 'w+') as f_out:
|
||||
f_out.truncate(0)
|
||||
json.dump(json_manifest, f_out)
|
||||
|
||||
# get top/bottom winning and loseingreport_filename
|
||||
getTopBottomWinningAndLoseing(json_manifest, competitionName)
|
||||
|
||||
# get screenshot
|
||||
nest_asyncio.apply()
|
||||
bms_url = 'https://footylogic.com/en/matchcenter/0/' + tournamentID+'/'+ matchID +'/bmstatistics'
|
||||
bm_recent = 'https://footylogic.com/en/matchcenter/0/' + tournamentID+'/'+ matchID +'/bmrecentforms'
|
||||
standings_url = 'https://footylogic.com/en/tournament/league/' + tournamentID +'/standings'
|
||||
|
||||
print(bms_url)
|
||||
print(bm_recent)
|
||||
print(standings_url)
|
||||
asyncio.run(getScreenshot_bmstatistics(bms_url, images_path+'/bmstatistics.png', 1))
|
||||
asyncio.run(getScreenshot_bmrecentforms(bm_recent, images_path+'/bmrecentforms.png', 1))
|
||||
asyncio.run(getScreenshot_standings(standings_url, images_path+'/standings.png', 1))
|
||||
|
||||
# load
|
||||
writeExcel(json_manifest, [
|
||||
images_path+'/bmstatistics.png',
|
||||
images_path+'/bmrecentforms.png',
|
||||
images_path+'/standings.png',
|
||||
], report_filename)
|
||||
|
||||
print('reports.py: done...')
|
||||
|
||||
|
||||
def helloworld():
|
||||
|
||||
print("helloworld")
|
Reference in New Issue
Block a user