Update September 10 dashboard data and event sources
This commit is contained in:
+12
-10
@@ -15,7 +15,7 @@ from tableauhyperapi import Connection, HyperProcess, Telemetry
|
||||
SERVER = os.environ.get("TABLEAU_SERVER", "https://mars.ushareit.org").rstrip("/")
|
||||
API_VERSION = os.environ.get("TABLEAU_API_VERSION", "3.15")
|
||||
SITE_CONTENT_URL = os.environ.get("TABLEAU_SITE_CONTENT_URL", "")
|
||||
WORKBOOK_ID = os.environ.get("TABLEAU_EVENT_WORKBOOK_ID", "ad567777-aa52-4c2f-89c3-5acfed4fdbba")
|
||||
WORKBOOK_ID = os.environ.get("TABLEAU_EVENT_WORKBOOK_ID", "5245cbe5-be36-46db-aaa5-51da9eba4f0b")
|
||||
|
||||
|
||||
def request_json(url, *, body=None, headers=None):
|
||||
@@ -57,23 +57,25 @@ def main():
|
||||
archive_path.write_bytes(response.read())
|
||||
with zipfile.ZipFile(archive_path) as archive:
|
||||
members = [name for name in archive.namelist() if name.endswith(".hyper")]
|
||||
if len(members) != 1:
|
||||
raise SystemExit(f"expected one Hyper extract, found {len(members)}")
|
||||
archive.extract(members[0], temp_dir)
|
||||
hyper_path = Path(temp_dir) / members[0]
|
||||
if not members:
|
||||
raise SystemExit("no Hyper extracts found")
|
||||
for member in members:
|
||||
archive.extract(member, temp_dir)
|
||||
query = '''
|
||||
SELECT "dt", "pkg_name", "adping_id", "offer_name", "event_name",
|
||||
SELECT "dt", "pkg_name", "adping_id", "offer_name", "second_channel", "event_name",
|
||||
SUM("event_num")
|
||||
FROM "Extract"."Extract"
|
||||
GROUP BY "dt", "pkg_name", "adping_id", "offer_name", "event_name"
|
||||
GROUP BY "dt", "pkg_name", "adping_id", "offer_name", "second_channel", "event_name"
|
||||
ORDER BY "dt", "pkg_name", "offer_name", "event_name"
|
||||
'''
|
||||
rows = []
|
||||
with HyperProcess(Telemetry.DO_NOT_SEND_USAGE_DATA_TO_TABLEAU) as process:
|
||||
with Connection(process.endpoint, str(hyper_path)) as connection:
|
||||
rows = connection.execute_list_query(query)
|
||||
for member in members:
|
||||
with Connection(process.endpoint, str(Path(temp_dir) / member)) as connection:
|
||||
rows.extend(connection.execute_list_query(query))
|
||||
with open(output_path, "w", encoding="utf-8", newline="") as handle:
|
||||
writer = csv.writer(handle)
|
||||
writer.writerow(("dt", "pkg_name", "adping_id", "offer_name", "event_name", "event_num"))
|
||||
writer.writerow(("dt", "pkg_name", "adping_id", "offer_name", "second_channel", "event_name", "event_num"))
|
||||
writer.writerows(rows)
|
||||
dates = sorted({str(row[0]) for row in rows})
|
||||
print(json.dumps({"rows": len(rows), "dates": dates}))
|
||||
|
||||
Reference in New Issue
Block a user