diff --git a/.gitignore b/.gitignore index 894a44c..38dbb44 100644 --- a/.gitignore +++ b/.gitignore @@ -89,6 +89,7 @@ venv/ ENV/ env.bak/ venv.bak/ +.envrc # Spyder project settings .spyderproject diff --git a/Pipfile b/Pipfile index 4001942..4be88fa 100644 --- a/Pipfile +++ b/Pipfile @@ -12,4 +12,4 @@ pyperclip = "*" [dev-packages] [requires] -python_version = "3.6" +python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock index 68d1d65..835702f 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "e2a802c54f4f7e86c1260c76d7b81932a5c1362e0b72111a3a111dc65e35561d" + "sha256": "28a98b93d664939deee5dd34406ca1290467f595804ab6428032a18aa7b07b9e" }, "pipfile-spec": 6, "requires": { - "python_version": "3.6" + "python_version": "3.9" }, "sources": [ { @@ -18,76 +18,80 @@ "default": { "certifi": { "hashes": [ - "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", - "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" ], - "version": "==2019.11.28" + "version": "==2021.10.8" }, - "chardet": { + "charset-normalizer": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:5d209c0a931f215cee683b6445e2d77677e7e75e159f78def0db09d68fafcaa6", + "sha256:5ec46d183433dcbd0ab716f2d7f29d8dee50505b3fdb40c6b985c7c4f5a3591f" ], - "version": "==3.0.4" + "markers": "python_version >= '3'", + "version": "==2.0.6" }, "click": { "hashes": [ - "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d", - "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b" + "sha256:3fab8aeb8f15f5452ae7511ad448977b3417325bceddd53df87e0bb81f3a8cf8", + "sha256:7027bc7bbafaab8b2c2816861d8eb372429ee3c02e193fc2f93d6c4ab9de49c5" ], "index": "pypi", - "version": "==6.7" + "version": "==8.0.2" }, "idna": { "hashes": [ - "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", - "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" + "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a", + "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3" ], - "version": "==2.7" + "markers": "python_version >= '3'", + "version": "==3.2" }, "progressbar2": { "hashes": [ - "sha256:84cb2b81274e9d83a952dc4517f953fbaf1e040b90638e68d54fc18e7dd47030", - "sha256:d209f8c13672724bbb7bbf76e7ffedaa0bcdac32dc8db68a627bbabfd6c75de0" + "sha256:6610fe393a4591967ecf9062d42c0663c8862092245c490e5971ec5f348755ca", + "sha256:f4e1c2d48e608850c59f793d6e74ccdebbcbaac7ffe917d45e9646ec0d664d6d" ], "index": "pypi", - "version": "==3.38.0" + "version": "==3.53.3" }, "pyperclip": { "hashes": [ - "sha256:f70e83d27c445795b6bf98c2bc826bbf2d0d63d4c7f83091c8064439042ba0dc" + "sha256:105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57" ], "index": "pypi", - "version": "==1.6.4" + "version": "==1.8.2" }, "python-utils": { "hashes": [ - "sha256:ebaadab29d0cb9dca0a82eab9c405f5be5125dbbff35b8f32cc433fa498dbaa7", - "sha256:f21fc09ff58ea5ebd1fd2e8ef7f63e39d456336900f26bdc9334a03a3f7d8089" + "sha256:18fbc1a1df9a9061e3059a48ebe5c8a66b654d688b0e3ecca8b339a7f168f208", + "sha256:352d5b1febeebf9b3cdb9f3c87a3b26ef22d3c9e274a8ec1e7048ecd2fac4349" ], - "version": "==2.4.0" + "version": "==2.5.6" }, "requests": { "hashes": [ - "sha256:99dcfdaaeb17caf6e526f32b6a7b780461512ab3f1d992187801694cba42770c", - "sha256:a84b8c9ab6239b578f22d1c21d51b696dcfe004032bb80ea832398d6909d7279" + "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24", + "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7" ], "index": "pypi", - "version": "==2.20.0" + "version": "==2.26.0" }, "six": { "hashes": [ - "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a", - "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c" + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "version": "==1.14.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" }, "urllib3": { "hashes": [ - "sha256:2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4", - "sha256:a637e5fae88995b256e3409dc4d52c2e2e0ba32c42a6365fee8bbd2238de3cfb" + "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece", + "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844" ], - "version": "==1.24.3" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==1.26.7" } }, "develop": {} diff --git a/README.md b/README.md index ae599c4..ad3c0ca 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ # transfersh-cli -

- -

+![Demo](images/demo.svg) ## Install diff --git a/demo.svg b/images/demo.svg similarity index 100% rename from demo.svg rename to images/demo.svg diff --git a/transfersh.py b/transfersh.py index 8513420..464317d 100644 --- a/transfersh.py +++ b/transfersh.py @@ -12,7 +12,9 @@ URL_TRANSFERSH = 'https://transfer.sh' @click.command() @click.argument('filename') -def transfersh_cli(filename): +@click.option('-a', '--max-days', type=int, help='Maximum number of days to keep file') +@click.option('-d', '--max-downloads', type=int, help='Maximum number of times that file can be downloaded') +def transfersh_cli(filename, max_days, max_downloads): """ Program that uploads a file to Transfer.sh """ try: # Open file @@ -20,7 +22,12 @@ def transfersh_cli(filename): click.echo('Uploading file') # Upload file conf_file = {filename: data} - r = requests.post(URL_TRANSFERSH, files=conf_file) + headers = {} + if max_days is not None: + headers['Max-Days'] = str(max_days) + if max_downloads is not None: + headers['Max-Downloads'] = str(max_downloads) + r = requests.post(URL_TRANSFERSH, files=conf_file, headers=headers) # Shows route to download download_url = r.text click.echo(f'Download from here: {download_url}')