Skip to content

Commit d12057a

Browse files
update formatting
1 parent ab8b671 commit d12057a

File tree

12 files changed

+356
-358
lines changed

12 files changed

+356
-358
lines changed

python_scripts/emby_date.py

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,37 @@
77

88
load_dotenv()
99

10-
try:
11-
conn = psycopg2.connect(
12-
user=os.getenv('PG_USER'),
13-
password=os.getenv('PG_PASSWORD'),
14-
host=os.getenv('PG_HOST'),
15-
port=os.getenv('PG_PORT'),
16-
dbname=os.getenv('EMBY_DB_NAME'))
17-
18-
cur = conn.cursor()
19-
fetch_query = '''
10+
try:
11+
conn = psycopg2.connect(
12+
user=os.getenv("PG_USER"),
13+
password=os.getenv("PG_PASSWORD"),
14+
host=os.getenv("PG_HOST"),
15+
port=os.getenv("PG_PORT"),
16+
dbname=os.getenv("EMBY_DB_NAME"),
17+
)
18+
19+
cur = conn.cursor()
20+
fetch_query = """
2021
SELECT to_char("datecreated", 'YYYY-MM-DD') AS "date_played",
2122
((SUM(playduration) - SUM(pauseduration))/60) AS playtime
2223
FROM playbackactivity
2324
WHERE "datecreated" :: date > (NOW() - INTERVAL '15 DAY')
2425
GROUP BY date_played
2526
ORDER BY date_played DESC
26-
'''
27-
cur.execute(fetch_query)
28-
rows = cur.fetchall()
29-
df = pd.DataFrame(rows, columns=['date', 'playtime'])
30-
df['playtime'] = df['playtime'].astype(int)
31-
32-
chart = [{
33-
"series": ["Daily Play Time"],
34-
"data": [ df['playtime'].to_list() ],
35-
"labels": df['date'].tolist()
36-
}]
27+
"""
28+
cur.execute(fetch_query)
29+
rows = cur.fetchall()
30+
df = pd.DataFrame(rows, columns=["date", "playtime"])
31+
df["playtime"] = df["playtime"].astype(int)
3732

38-
print(json.dumps(chart))
33+
chart = [{"series": ["Daily Play Time"], "data": [df["playtime"].to_list()], "labels": df["date"].tolist()}]
34+
35+
print(json.dumps(chart))
3936

4037

4138
except Exception as e:
42-
print(str(e))
39+
print(str(e))
4340

4441
finally:
45-
cur.close()
46-
conn.close()
42+
cur.close()
43+
conn.close()

python_scripts/emby_item_total.py

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,39 @@
88

99
load_dotenv()
1010

11-
try:
12-
conn = psycopg2.connect(
13-
user=os.getenv('PG_USER'),
14-
password=os.getenv('PG_PASSWORD'),
15-
host=os.getenv('PG_HOST'),
16-
port=os.getenv('PG_PORT'),
17-
dbname=os.getenv('EMBY_DB_NAME'))
18-
19-
cur = conn.cursor()
20-
fetch_query = '''
21-
SELECT itemtype,
22-
((SUM(playduration) - SUM(pauseduration))/3600) AS playtime
23-
FROM playbackactivity
24-
GROUP BY itemtype
25-
'''
26-
cur.execute(fetch_query)
27-
rows = cur.fetchall()
28-
df = pd.DataFrame(rows, columns=['itemtype', 'playtime'])
29-
30-
chart = [{
31-
"series": [ "Total Play Time" ],
32-
"data": [ [ceil(x) for x in df['playtime'].to_list()] ],
33-
"labels": df['itemtype'].to_list()
34-
}]
35-
36-
print(json.dumps(chart))
11+
try:
12+
conn = psycopg2.connect(
13+
user=os.getenv("PG_USER"),
14+
password=os.getenv("PG_PASSWORD"),
15+
host=os.getenv("PG_HOST"),
16+
port=os.getenv("PG_PORT"),
17+
dbname=os.getenv("EMBY_DB_NAME"),
18+
)
19+
20+
cur = conn.cursor()
21+
fetch_query = """
22+
SELECT itemtype,
23+
((SUM(playduration) - SUM(pauseduration))/3600) AS playtime
24+
FROM playbackactivity
25+
GROUP BY itemtype
26+
"""
27+
cur.execute(fetch_query)
28+
rows = cur.fetchall()
29+
df = pd.DataFrame(rows, columns=["itemtype", "playtime"])
30+
31+
chart = [
32+
{
33+
"series": ["Total Play Time"],
34+
"data": [[ceil(x) for x in df["playtime"].to_list()]],
35+
"labels": df["itemtype"].to_list(),
36+
}
37+
]
38+
39+
print(json.dumps(chart))
3740

3841
except Exception as e:
39-
print(str(e))
42+
print(str(e))
4043

4144
finally:
42-
cur.close()
43-
conn.close()
45+
cur.close()
46+
conn.close()

python_scripts/emby_report_cron.py

Lines changed: 39 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,67 +9,65 @@
99
load_dotenv()
1010

1111
print(datetime.now(), " [LOG]:")
12-
emby_ip = os.getenv('EMBY_IP')
12+
emby_ip = os.getenv("EMBY_IP")
1313

1414
auth_url = f"{emby_ip}/Users/AuthenticateByName"
15-
payload = json.dumps({
16-
"Username": os.getenv('EMBY_USER_NAME'),
17-
"pw": os.getenv('EMBY_PASSWORD')
18-
})
15+
payload = json.dumps({"Username": os.getenv("EMBY_USER_NAME"), "pw": os.getenv("EMBY_PASSWORD")})
1916
headers = {
20-
'Authorization': f'''Emby UserId="{os.getenv('EMBY_USER_ID')}",Client="Python", Device="Raspberry Pi 4B", DeviceId="xxx", Version="3.9"''',
21-
'Content-Type': 'application/json'
17+
"Authorization": f'''Emby UserId="{os.getenv('EMBY_USER_ID')}",Client="Python", Device="Raspberry Pi 4B", DeviceId="xxx", Version="3.9"''',
18+
"Content-Type": "application/json",
2219
}
2320
auth_response = requests.request("POST", auth_url, headers=headers, data=payload)
2421

25-
token = auth_response.json()['AccessToken']
22+
token = auth_response.json()["AccessToken"]
2623
query_string = "SELECT * FROM PlaybackActivity"
2724
query_url = f"{emby_ip}/emby/user_usage_stats/submit_custom_query?X-Emby-Token={token}&CustomQueryString={query_string}&ReplaceUserId=True"
2825

2926
query_response = requests.request("POST", query_url)
3027
resp = query_response.json()
31-
cols = resp['colums']
32-
qry_result = resp['results']
28+
cols = resp["colums"]
29+
qry_result = resp["results"]
3330

3431
cols = [item.lower() for item in cols]
3532
joined_cols = '","'.join(cols)
3633

3734
try:
38-
if len(qry_result) == 0:
39-
raise Exception('No records present')
40-
41-
conn = psycopg2.connect(
42-
user=os.getenv('PG_USER'),
43-
password=os.getenv('PG_PASSWORD'),
44-
host=os.getenv('PG_HOST'),
45-
port=os.getenv('PG_PORT'),
46-
dbname=os.getenv('EMBY_DB_NAME'))
35+
if len(qry_result) == 0:
36+
raise Exception("No records present")
4737

48-
print('\tConnected to DB EmbyReporting')
38+
conn = psycopg2.connect(
39+
user=os.getenv("PG_USER"),
40+
password=os.getenv("PG_PASSWORD"),
41+
host=os.getenv("PG_HOST"),
42+
port=os.getenv("PG_PORT"),
43+
dbname=os.getenv("EMBY_DB_NAME"),
44+
)
4945

50-
cur = conn.cursor()
51-
truncate_query = 'TRUNCATE TABLE playbackactivity;'
52-
cur.execute(truncate_query)
53-
conn.commit()
54-
print('\tCleared Table PlaybackActivity')
46+
print("\tConnected to DB EmbyReporting")
5547

56-
for rec in qry_result:
57-
if len(rec) != 11:
58-
raise Exception('Data missing in record')
59-
60-
insert_query = f'''
61-
INSERT INTO playbackactivity ("{joined_cols}")
62-
VALUES
63-
('{rec[0]}', '{rec[1]}', {rec[2]}, '{rec[3]}', '{rec[4].replace("'", "''")}', '{rec[5]}', '{rec[6]}', '{rec[7].replace("'", "''")}', {rec[8]}, {rec[9]}, '{rec[10]}')
64-
'''
65-
cur.execute(insert_query)
66-
conn.commit()
67-
print(f'\t{len(qry_result)} records inserted into PlaybackActivity.')
48+
cur = conn.cursor()
49+
truncate_query = "TRUNCATE TABLE playbackactivity;"
50+
cur.execute(truncate_query)
51+
conn.commit()
52+
print("\tCleared Table PlaybackActivity")
53+
54+
for rec in qry_result:
55+
if len(rec) != 11:
56+
raise Exception("Data missing in record")
57+
58+
insert_query = f"""
59+
INSERT INTO playbackactivity ("{joined_cols}")
60+
VALUES
61+
('{rec[0]}', '{rec[1]}', {rec[2]}, '{rec[3]}', '{rec[4].replace("'", "''")}', '{rec[5]}',
62+
'{rec[6]}', '{rec[7].replace("'", "''")}', {rec[8]}, {rec[9]}, '{rec[10]}')
63+
"""
64+
cur.execute(insert_query)
65+
conn.commit()
66+
print(f"\t{len(qry_result)} records inserted into PlaybackActivity.")
6867

6968
except Exception as e:
70-
print("\t",str(e))
69+
print("\t", str(e))
7170

7271
finally:
73-
cur.close()
74-
conn.close()
75-
72+
cur.close()
73+
conn.close()

python_scripts/emby_table.py

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,28 @@
66

77
load_dotenv()
88

9-
try:
10-
conn = psycopg2.connect(
11-
user=os.getenv('PG_USER'),
12-
password=os.getenv('PG_PASSWORD'),
13-
host=os.getenv('PG_HOST'),
14-
port=os.getenv('PG_PORT'),
15-
dbname=os.getenv('EMBY_DB_NAME'))
9+
try:
10+
conn = psycopg2.connect(
11+
user=os.getenv("PG_USER"),
12+
password=os.getenv("PG_PASSWORD"),
13+
host=os.getenv("PG_HOST"),
14+
port=os.getenv("PG_PORT"),
15+
dbname=os.getenv("EMBY_DB_NAME"),
16+
)
1617

17-
cur = conn.cursor()
18-
fetch_query = '''
19-
SELECT to_char("datecreated", 'DD HH12:MI AM') AS "date", "itemname", "devicename"
20-
FROM playbackactivity ORDER BY "datecreated" DESC LIMIT 15;
21-
'''
22-
cur.execute(fetch_query)
23-
rows = cur.fetchall()
24-
df = pd.DataFrame(rows, columns=['date', 'itemname', 'devicename'])
25-
print(df.to_json(orient='records'))
18+
cur = conn.cursor()
19+
fetch_query = """
20+
SELECT to_char("datecreated", 'DD HH12:MI AM') AS "date", "itemname", "devicename"
21+
FROM playbackactivity ORDER BY "datecreated" DESC LIMIT 15;
22+
"""
23+
cur.execute(fetch_query)
24+
rows = cur.fetchall()
25+
df = pd.DataFrame(rows, columns=["date", "itemname", "devicename"])
26+
print(df.to_json(orient="records"))
2627

2728
except Exception as e:
28-
print(str(e))
29+
print(str(e))
2930

3031
finally:
31-
cur.close()
32-
conn.close()
32+
cur.close()
33+
conn.close()

python_scripts/mdl_cdrama.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
from datetime import datetime
21
import cloudscraper
32
import pandas as pd
3+
from datetime import datetime
44

55

66
now = datetime.now()
77
current_year = now.year
8-
current_quarter = ((now.month-1)//3)+1
8+
current_quarter = ((now.month - 1) // 3) + 1
99

1010
scraper = cloudscraper.create_scraper()
1111

1212
seasonal = scraper.post(
13-
url="https://mydramalist.com/v1/quarter_calendar",
14-
data={"quarter": current_quarter, "year": current_year},
13+
url="https://mydramalist.com/v1/quarter_calendar",
14+
data={"quarter": current_quarter, "year": current_year},
1515
).json()
1616

1717
df = pd.DataFrame(seasonal)
1818

19-
df['title'] = '<a href="https://mydramalist.com'+df['url']+'">'+df['title']+'</a>'
20-
c_df = df[(df['country'] == 'China') & (df['type'] != 'Movie')].sort_values(by=['ranking']).reset_index()
19+
df["title"] = '<a href="https://mydramalist.com' + df["url"] + '">' + df["title"] + "</a>"
20+
c_df = df[(df["country"] == "China") & (df["type"] != "Movie")].sort_values(by=["ranking"]).reset_index()
2121

22-
print(c_df[['title', 'episodes', 'ranking', 'genres','rating']].head(10).to_json(orient='records'))
22+
print(c_df[["title", "episodes", "ranking", "genres", "rating"]].head(10).to_json(orient="records"))
2323
scraper.close()

python_scripts/mdl_chart.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
1-
from datetime import datetime
1+
import json
22
import cloudscraper
33
import pandas as pd
4-
import json
4+
from datetime import datetime
55

66

77
now = datetime.now()
88
current_year = now.year
9-
current_quarter = ((now.month-1)//3)+1
9+
current_quarter = ((now.month - 1) // 3) + 1
1010

1111
scraper = cloudscraper.create_scraper()
1212

1313
seasonal = scraper.post(
14-
url="https://mydramalist.com/v1/quarter_calendar",
15-
data={"quarter": current_quarter, "year": current_year},
14+
url="https://mydramalist.com/v1/quarter_calendar",
15+
data={"quarter": current_quarter, "year": current_year},
1616
).json()
1717

1818
df = pd.DataFrame(seasonal)
1919

20-
top_hundred = df[df['type'] != 'Movie'].sort_values(by=['ranking']).head(100).reset_index()
21-
title_count = top_hundred[['title', 'country']].groupby(['country']).count().reset_index()
20+
top_hundred = df[df["type"] != "Movie"].sort_values(by=["ranking"]).head(100).reset_index()
21+
title_count = top_hundred[["title", "country"]].groupby(["country"]).count().reset_index()
2222

23-
chart = [{
24-
"series": [ "No Of Dramas" ],
25-
"data": [ title_count['title'].to_list() ],
26-
"labels": title_count['country'].to_list()
27-
}]
23+
chart = [
24+
{"series": ["No Of Dramas"], "data": [title_count["title"].to_list()], "labels": title_count["country"].to_list()}
25+
]
2826

2927
print(json.dumps(chart))
3028
scraper.close()

0 commit comments

Comments
 (0)