diff --git a/src/yunohost/utils/yunopaste.py b/src/yunohost/utils/yunopaste.py new file mode 100644 index 000000000..c084d78ce --- /dev/null +++ b/src/yunohost/utils/yunopaste.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +import requests +import json +import errno + +from moulinette.core import MoulinetteError + +def yunopaste(data): + + paste_server = "https://paste.yunohost.org" + + try: + r = requests.post("%s/documents" % paste_server, data=data) + except Exception as e: + raise MoulinetteError(errno.EIO, + "Something wrong happened while trying to paste data on paste.yunohost.org : %s" % str(e)) + + if r.status_code != 200: + raise MoulinetteError(errno.EIO, + "Something wrong happened while trying to paste data on paste.yunohost.org : %s" % r.text) + + try: + url = json.loads(r.text)["key"] + except: + raise MoulinetteError(errno.EIO, + "Uhoh, couldn't parse the answer from paste.yunohost.org : %s" % r.text) + + return "%s/raw/%s" % (paste_server, url)