This commit is contained in:
2026-02-26 15:52:01 +01:00
parent c326143eb8
commit f0faa57e98
51 changed files with 21457 additions and 22 deletions

45
rich_rpc_copy.py Normal file
View File

@@ -0,0 +1,45 @@
import time
import json
import psutil
import pypresence
rpc = pypresence.Presence('1150714322104877108') # Put your Application ID here
data = None
rpc.connect()
def search_file(file_path, word):
with open(file_path, 'r') as file:
for line in reversed(file.readlines()):
if word in line:
return line
while True:
for proc in psutil.process_iter():
# This is an example of structural pattern matching added in Python 3.10 | Tutorial: https://www.python.org/dev/peps/pep-0636/
match proc.name().lower():
case "ffmpeg.exe":
speed = search_file('E:/Projects/python/ffmpeg_work_folder/testoutprogress.txt', 'speed=')
frame = search_file('E:/Projects/python/ffmpeg_work_folder/testoutprogress.txt', 'frame=')
state_string = speed + "@ " + frame
d = {"state": state_string, "details": "encoding"}
with open("E:/Projects/python/ffmpeg_work_folder/testoutprogress.txt", 'r+') as file:
file.truncate(0)
data = d
break
case "itunes.exe":
data = {"state": "XYZ", "details": "Zoom", "large_image": "foo", "large_text": "bar"}
break
case _:
data = None
# You don't have to update the status like this, you could do it in the for loop or call a different function to do it.
if data:
rpc.update(**data)
else:
rpc.clear()
time.sleep(15)