chatgpt/pastedb/rentry_upload.py

35 lines
904 B
Python

import hashlib
import json
import subprocess
def upload(data):
json_data = json.dumps(data)
md5sum = hashlib.md5(json_data.encode('utf-8')).hexdigest()
# Run rentry client as subprocess
p = subprocess.Popen(
['./services/rentry', 'new', {json_data}],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
# Send JSON data to rentry client
stdout, stderr = p.communicate(json_data.encode('utf-8'))
if p.returncode != 0:
# Rentry client failed
print(f"Error running rentry client: {stderr.decode('utf-8')}")
return None
# Parse JSON response from rentry client
json_response = json.loads(stdout.decode('utf-8'))
return {
"service": "rentry",
"name": json_response["slug"],
"key": f"https://rentry.co/{json_response['slug']}",
"md5sum": md5sum
}