Add systemd files and passing room-id for matrix

This commit is contained in:
Jeena 2023-02-19 13:42:01 +09:00
parent 52f935a084
commit 85fd862db4
8 changed files with 96 additions and 16 deletions

View file

@ -6,7 +6,7 @@ import os
import synology
import edit
import shutil
import argparse
import matrix_commander
from matrix_commander import main
@ -22,31 +22,45 @@ def years_ago(path):
ret += " ago."
return ret
def post_photo(path):
def post_photo(path, roomid):
argv = ["matrix-commander"]
argv.extend(["--message", "" + years_ago(path) + ""])
argv.extend(["--image", path])
argv.extend(["--print-event-id"])
argv.extend(["--room", roomid])
return matrix_commander.main(argv)
def get_args():
parser = argparse.ArgumentParser(description='Post dates picture(s) to a Matrix room')
parser.add_argument('-n', '--names', required=True)
parser.add_argument('-e', '--exclude', default=None, required=False)
parser.add_argument('-r', '--roomid', required=True)
parser.add_argument('-m', '--month', default=datetime.today().month, type=int)
parser.add_argument('-d', '--day', default=datetime.today().day, type=int)
parser.add_argument('-s', '--size', default=1, type=int)
return parser.parse_args()
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: matrix.py richard|kaylee")
exit(1)
args = get_args()
sy_host = os.getenv('SY_DB_HOST')
sy_user = os.getenv('SY_USER')
# Get img paths from database
conn = synology.connect_db(sy_host, os.getenv('SY_DB_USER'), os.getenv('SY_DB_PASSWD'))
names = sys.argv[1]
month = datetime.today().month
day = datetime.today().day
pictures = synology.fetch_path_for_names_day_and_month(conn, names, month, day, 1)
pictures = synology.fetch_path_for_names_exclude_day_and_month(conn,
args.names, args.exclude, args.month, args.day, args.size)
synology.close_db(conn)
# Fetch files from synology to tmp
dirpath = synology.fetch_files(sy_user + "@" + sy_host, pictures)
# Traverse dirs and post picures in matrix room
ret = 0
with os.scandir(dirpath) as dirs:
for i, entry in enumerate(dirs):
ret = post_photo(os.path.join(dirpath, entry.name))
ret = post_photo(os.path.join(dirpath, entry.name), args.roomid)
# Cleanup
shutil.rmtree(dirpath)
exit(ret)