def get_package(self, uuid):
return self._request("/packages/%s" % uuid, decode="json")
- # File uploads
+ # Uploads
+
+ async def list_uploads(self):
+ """
+ Returns a list of all uploads
+ """
+ response = await self._request("GET", "/uploads")
+
+ return response.get("uploads")
async def upload(self, path, filename=None, show_progress=True):
"""
upload_subparsers = upload.add_subparsers()
+ # upload list
+ upload_list = upload_subparsers.add_parser("list", help=_("List all uploads"))
+ upload_list.set_defaults(func=self._upload_list)
+
# upload new
upload_new = upload_subparsers.add_parser("new", help=_("Create a new upload"))
upload_new.add_argument("file", nargs="+", help=_("Filename"))
# Uploads
+ async def _upload_list(self, hub, ns):
+ uploads = await hub.list_uploads()
+
+ for upload in uploads:
+ print(_("Upload %s") % upload.get("id"))
+
+ attributes = {
+ _("Filename") : upload.get("filename"),
+ _("Size") : upload.get("size"),
+ _("Created at") : upload.get("created_at"),
+ _("Expires at") : upload.get("expires_at"),
+ }
+
+ for key, val in attributes.items():
+ print (" %-20s : %s" % (key, val))
+
+ print() # newline
+
async def _upload_new(self, hub, ns):
for file in ns.file:
upload_id = await hub.upload(file)