feat: Add max downloads #5

Merged
anihm136 merged 4 commits from feat/add_max_downloads into master 2021-10-13 09:58:29 +02:00
6 changed files with 48 additions and 38 deletions
+1
View File
@@ -89,6 +89,7 @@ venv/
ENV/
env.bak/
venv.bak/
.envrc
# Spyder project settings
.spyderproject
+1 -1
View File
@@ -12,4 +12,4 @@ pyperclip = "*"
[dev-packages]
[requires]
python_version = "3.6"
python_version = "3.9"
Generated
+36 -32
View File
@@ -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": {}
+1 -3
View File
@@ -1,8 +1,6 @@
# transfersh-cli
<p align="center">
<img src="https://cdn.rawgit.com/tanrax/transfersh-cli/master/demo.svg">
</p>
![Demo](images/demo.svg)
## Install
View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

+9 -2
View File
@@ -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}')