first
This commit is contained in:
45
rich_rpc_copy.py
Normal file
45
rich_rpc_copy.py
Normal 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)
|
||||
Reference in New Issue
Block a user