no more python2 support

This commit is contained in:
2020-08-17 13:01:42 +03:00
parent 60acba2225
commit 2f0fd26db0
7 changed files with 30 additions and 25 deletions

View File

@@ -619,7 +619,7 @@ def print_rest_api_upload(config, share, token):
token token
)) ))
print("\nLink to upload multiple files to the share, splitting large files:") print("\nLink to upload multiple files to the share, splitting large files:")
print("\n# python2 <( curl -s %s/script/upload_split/%s/%s ) [-s split_size_in_Mb] file_to_upload.ext [second.file.ext]"%( print("\n# python3 <( curl -s %s/script/upload_split/%s/%s ) [-s split_size_in_Mb] file_to_upload.ext [second.file.ext]"%(
config['public_url'], config['public_url'],
share['name'], share['name'],
token token

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
import argparse, sys, os, subprocess, time, re, json import argparse, sys, os, subprocess, time, re, json
from subprocess import call, Popen, PIPE, STDOUT from subprocess import call, Popen, PIPE, STDOUT
import readline import readline
@@ -110,7 +110,7 @@ def download_file(file, opts, filename = False):
for char in iter(lambda: p.stderr.read(1), ''): for char in iter(lambda: p.stderr.read(1), ''):
if not char: if not char:
return return
sys.stderr.write(char) sys.stderr.write(char.decode())
sys.stderr.flush() sys.stderr.flush()
return return
@@ -310,7 +310,7 @@ def print_title(title):
opts.share, opts.share,
opts.rooturl opts.rooturl
) )
pad = " "*((len(status) - len(title))/2) pad = " "*(int((len(status) - len(title))/2))
print("\n".join(( print("\n".join((
"", "",
"="*len(status), "="*len(status),
@@ -324,7 +324,7 @@ def read_output(stream):
for char in iter(lambda: stream.read(1), ''): for char in iter(lambda: stream.read(1), ''):
if not char: if not char:
break break
sys.stderr.write(char) sys.stderr.write(char.decode())
sys.stderr.flush() sys.stderr.flush()
stream.close() stream.close()

View File

@@ -20,7 +20,7 @@ get_file() {
test "$WRITE" = "1" && { test "$WRITE" = "1" && {
echo Downloading ${FILENAME} echo Downloading ${FILENAME}
mkdir -p $( dirname "$FILENAME" ) mkdir -p $( dirname "$FILENAME" )
curl "${ROOTURL}download/${SHARE}/${TOKEN}/${FILENAME}" > "${FILENAME}" curl -jLf "${ROOTURL}download/${SHARE}/${TOKEN}/${FILENAME}" > "${FILENAME}"
} || { } || {
echo Skipping ${FILENAME} echo Skipping ${FILENAME}
} }

View File

@@ -20,7 +20,7 @@ get_file() {
test "$WRITE" = "1" && { test "$WRITE" = "1" && {
echo Downloading ${FILENAME} echo Downloading ${FILENAME}
mkdir -p $( dirname "$FILENAME" ) mkdir -p $( dirname "$FILENAME" )
curl "${ROOTURL}direct/${SHARE}/${TOKEN}/${FILENAME}" > "${FILENAME}" curl -jLf "${ROOTURL}direct/${SHARE}/${TOKEN}/${FILENAME}" > "${FILENAME}"
} || { } || {
echo Skipping ${FILENAME} echo Skipping ${FILENAME}
} }

View File

@@ -67,12 +67,12 @@ _update_client() {
} }
_list() { _list() {
curl -L -s "$FLEES_ROOTURL/file/ls/$FLEES_SHARE/$FLEES_TOKEN" curl -fL -s "$FLEES_ROOTURL/file/ls/$FLEES_SHARE/$FLEES_TOKEN"
printf "\n" printf "\n"
} }
_simple_list() { _simple_list() {
curl -L -s "$FLEES_ROOTURL/file/list/$FLEES_SHARE/$FLEES_TOKEN" curl -fL -s "$FLEES_ROOTURL/file/list/$FLEES_SHARE/$FLEES_TOKEN"
printf "\n" printf "\n"
} }
@@ -141,10 +141,10 @@ _write_folder() { # name, file
tar c "$2" | curl -L -F "file=@-;filename=$1" "${FLEES_ROOTURL}upload/${FLEES_SHARE}/${FLEES_TOKEN}" | cat - tar c "$2" | curl -L -F "file=@-;filename=$1" "${FLEES_ROOTURL}upload/${FLEES_SHARE}/${FLEES_TOKEN}" | cat -
} }
_write_file() { # name, file _write_file() { # name, file
curl -L -F "file=@$2;filename=$1" "${FLEES_ROOTURL}upload/${FLEES_SHARE}/${FLEES_TOKEN}" | cat - curl -fL -F "file=@$2;filename=$1" "${FLEES_ROOTURL}upload/${FLEES_SHARE}/${FLEES_TOKEN}" | cat -
} }
_write_stdin() { # name _write_stdin() { # name
cat - | curl -L -F "file=@-;filename=$1" "${FLEES_ROOTURL}upload/${FLEES_SHARE}/${FLEES_TOKEN}" cat - | curl -fL -F "file=@-;filename=$1" "${FLEES_ROOTURL}upload/${FLEES_SHARE}/${FLEES_TOKEN}"
} }
_paste() { _paste() {
@@ -179,10 +179,10 @@ _read() {
} }
_read_file() { # name, file _read_file() { # name, file
curl -L "$FLEES_ROOTURL/download/$FLEES_SHARE/$FLEES_TOKEN/$1" -o "$2" curl -fL "$FLEES_ROOTURL/download/$FLEES_SHARE/$FLEES_TOKEN/$1" -o "$2"
} }
_read_stdout() { # name _read_stdout() { # name
curl -L -s "$FLEES_ROOTURL/download/$FLEES_SHARE/$FLEES_TOKEN/$1" curl -fL -s "$FLEES_ROOTURL/download/$FLEES_SHARE/$FLEES_TOKEN/$1"
} }
_delete() { # name _delete() { # name
@@ -194,15 +194,15 @@ _delete() { # name
} }
_url() { # name _url() { # name
curl -L -s "$FLEES_ROOTURL/file/direct/$FLEES_SHARE/$FLEES_TOKEN/$1" curl -fL -s "$FLEES_ROOTURL/file/direct/$FLEES_SHARE/$FLEES_TOKEN/$1"
echo '' echo ''
} }
_short() { _short() {
curl -L -s "$FLEES_ROOTURL/file/expiring/$FLEES_SHARE/$FLEES_TOKEN/$2/$1" curl -fL -s "$FLEES_ROOTURL/file/expiring/$FLEES_SHARE/$FLEES_TOKEN/$2/$1"
echo '' echo ''
} }
_short_del() { _short_del() {
curl -L -s "$FLEES_ROOTURL/file/expiring_remove/$FLEES_SHARE/$FLEES_TOKEN/$1" curl -fL -s "$FLEES_ROOTURL/file/expiring_remove/$FLEES_SHARE/$FLEES_TOKEN/$1"
echo '' echo ''
} }
_upload_url() { _upload_url() {

View File

@@ -8,10 +8,10 @@ SHARE="{{ name }}"
TOKEN="{{ token }}" TOKEN="{{ token }}"
send_file() { send_file() {
cat "$file_name" | curl -F "file=@-;filename=${base_name}" "${ROOTURL}upload/${SHARE}/${TOKEN}" | cat - cat "$file_name" | curl -fL -F "file=@-;filename=${base_name}" "${ROOTURL}upload/${SHARE}/${TOKEN}" | cat -
} }
send_folder() { send_folder() {
tar cz "$file_name" | curl -F "file=@-;filename=${base_name}.tgz" "${ROOTURL}upload/${SHARE}/${TOKEN}" | cat - tar cz "$file_name" | curl -fL -F "file=@-;filename=${base_name}.tgz" "${ROOTURL}upload/${SHARE}/${TOKEN}" | cat -
} }
for file_name in "$@"; do for file_name in "$@"; do

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
import argparse, sys, os, subprocess, time import argparse, sys, os, subprocess, time
from subprocess import Popen, PIPE, STDOUT from subprocess import Popen, PIPE, STDOUT
from io import BytesIO from io import BytesIO
@@ -7,6 +7,7 @@ ROOTURL="{{ rooturl }}"
SHARE="{{ name }}" SHARE="{{ name }}"
TOKEN="{{ token }}" TOKEN="{{ token }}"
class ETA(): class ETA():
def __init__(self,total): def __init__(self,total):
self.total = total self.total = total
@@ -48,11 +49,15 @@ class ETA():
) )
) )
def split_upload(path, opts): def split_upload(path, opts):
try: try:
size = int(subprocess.check_output(['du','-b',path]).split("\t")[0]) size = int(subprocess.check_output(['du','-b',path]).decode().split("\t")[0])
except KeyboardInterrupt: except KeyboardInterrupt:
size = 0 size = 0
except ValueError as e:
print(e)
sys.exit(1)
eta = ETA(size) eta = ETA(size)
eta.update(0) eta.update(0)
split_bytes = opts.split * 1024 * 1024 split_bytes = opts.split * 1024 * 1024
@@ -81,7 +86,7 @@ def split_upload(path, opts):
chunk = reader.read(split_bytes) chunk = reader.read(split_bytes)
part = 0 part = 0
eta_str = "ETA" eta_str = "ETA"
while chunk != "": while chunk != b"":
chunk_name = ".%s.part.%03d"%( chunk_name = ".%s.part.%03d"%(
basename, basename,
part part
@@ -113,20 +118,20 @@ def split_upload(path, opts):
def is_chunk_sent(name, opts): def is_chunk_sent(name, opts):
p = Popen( p = Popen(
[ [
'curl','-s', 'curl','-fsL',
'%sfile/size/%s/%s/%s'%(opts.rooturl, opts.share, opts.token, name) '%sfile/size/%s/%s/%s'%(opts.rooturl, opts.share, opts.token, name)
], ],
stdout=PIPE, stdout=PIPE,
stderr=PIPE stderr=PIPE
) )
stdout_data, stderr_data = p.communicate() stdout_data, stderr_data = p.communicate()
return stdout_data == str(opts.split * 1024 * 1024) return stdout_data.decode() == str(opts.split * 1024 * 1024)
def join_chunks(name,parts,opts): def join_chunks(name,parts,opts):
p = Popen( p = Popen(
[ [
'curl', 'curl','-fL',
'-F','filename=%s'%(name,), '-F','filename=%s'%(name,),
'-F','parts=%d'%(parts,), '-F','parts=%d'%(parts,),
'%supload_join/%s/%s'%(opts.rooturl, opts.share, opts.token) '%supload_join/%s/%s'%(opts.rooturl, opts.share, opts.token)
@@ -135,7 +140,7 @@ def join_chunks(name,parts,opts):
stderr=PIPE stderr=PIPE
) )
stdout_data, stderr_data = p.communicate() stdout_data, stderr_data = p.communicate()
print(stdout_data) print(stdout_data.decode())
def parse_options(): def parse_options():