import requests import json import os import sys import subprocess

GTN = ‘training.galaxyproject.org/training-material’ # GTN = ‘localhost:4000/training-material

meta = requests.get(f“{GTN}/api/social-meta.json”).json()

last_timestamp = int(sys.argv)

# meta looks like: # { # “/topics/proteomics/tutorials/protein-id-sg-ps/workflows/wf_proteinID_SG_PS.svg”: 1710761924, # “/topics/proteomics/tutorials/protein-id-sg-ps/workflows/wf_proteinID_SG_PS_multipleFiles.svg”: 1710761924, # “/topics/proteomics/tutorials/metaquantome-function/workflows/main_workflow.svg”: 1710761924, # }

count = 0 max_ts = 0 for path, time in meta.items():

if time < last_timestamp:
    continue

if '/tags/' in path:
    continue

# Do something with the path
print(f"New social card: {path}")
# download the svg
out = f'../gtn-social/{path}'
os.makedirs(os.path.dirname(out), exist_ok=True)

if not os.path.exists(out):
    subprocess.check_call(['wget', GTN + path, '-O', out])

# Convert to png
if not os.path.exists(out.replace('.svg', '.png')):
    subprocess.check_call(['convert', '-density', '100', out, out.replace('.svg', '.png')])
    subprocess.check_call(['optipng', out.replace('.svg', '.png')])
max_ts = max(max_ts, time)

with open(‘../gtn-social/timestamp.txt’, ‘w’) as f:

f.write(str(max_ts))