fixed a regression that broke notifications after curl uploads
This commit is contained in:
parent
92a77b9bc1
commit
e5b10a6b73
26
pyshare.py
26
pyshare.py
|
@ -25,30 +25,31 @@ def parse_arguments():
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
def generate_filename(length, ext):
|
def generate_filename(length: int, ext: str) -> str:
|
||||||
filename = config.prefix + ''.join(choices(character_pool, k=length)) + '.' + ext
|
filename = config.prefix + ''.join(choices(character_pool, k=length)) + '.' + ext
|
||||||
return filename
|
return filename
|
||||||
|
|
||||||
|
|
||||||
def get_local_full_path():
|
def get_local_full_path() -> str:
|
||||||
if config.local_directory_nesting:
|
if config.local_directory_nesting:
|
||||||
folder = get_date_folder()
|
folder = get_date_folder()
|
||||||
return os.path.join(config.local_directory, folder)
|
return os.path.join(config.local_directory, folder)
|
||||||
return config.local_directory
|
return config.local_directory
|
||||||
|
|
||||||
|
|
||||||
def get_date_folder():
|
def get_date_folder() -> str:
|
||||||
return date.today().strftime(config.local_directory_nesting)
|
return date.today().strftime(config.local_directory_nesting)
|
||||||
|
|
||||||
|
|
||||||
def upload_local_file(path: str) -> str:
|
def upload_local_file(path: str) -> None:
|
||||||
if config.uploader in ['ftp', 'sftp']:
|
if config.uploader in ['ftp', 'sftp']:
|
||||||
filename = ftp_upload(path)
|
filename = ftp_upload(path)
|
||||||
if config.preserve_folders_on_remote:
|
if config.preserve_folders_on_remote:
|
||||||
filename = os.path.join(get_date_folder(), filename)
|
filename = os.path.join(get_date_folder(), filename)
|
||||||
return config.url_template.format(filename)
|
url = config.url_template.format(filename)
|
||||||
else:
|
else:
|
||||||
return curl_upload(path)
|
url = curl_upload(path)
|
||||||
|
notify_user(url)
|
||||||
|
|
||||||
|
|
||||||
def take_screenshot(edit=False) -> None:
|
def take_screenshot(edit=False) -> None:
|
||||||
|
@ -61,8 +62,7 @@ def take_screenshot(edit=False) -> None:
|
||||||
Image.open(file).convert('RGB').save(file)
|
Image.open(file).convert('RGB').save(file)
|
||||||
if edit:
|
if edit:
|
||||||
call(['gimp', file])
|
call(['gimp', file])
|
||||||
url = upload_local_file(file)
|
upload_local_file(file)
|
||||||
notify_user(url)
|
|
||||||
if not config.keep_local_copies:
|
if not config.keep_local_copies:
|
||||||
os.remove(file)
|
os.remove(file)
|
||||||
|
|
||||||
|
@ -108,11 +108,11 @@ def ftp_upload(sourcefile: str) -> str:
|
||||||
return dest_name
|
return dest_name
|
||||||
|
|
||||||
|
|
||||||
def curl_upload(filename):
|
def curl_upload(filename: str) -> str:
|
||||||
return check_output(config.curl_command.format(filename), shell=True).decode()[:-1]
|
return check_output(config.curl_command.format(filename), shell=True).decode()[:-1]
|
||||||
|
|
||||||
|
|
||||||
def notify_user(url, image=None):
|
def notify_user(url:str, image=None) -> None:
|
||||||
print(url)
|
print(url)
|
||||||
pyperclip.copy(url)
|
pyperclip.copy(url)
|
||||||
if config.enable_thumbnails and image:
|
if config.enable_thumbnails and image:
|
||||||
|
@ -126,7 +126,7 @@ def notify_user(url, image=None):
|
||||||
call(['notify-send', '-a', 'pyshare', url, '-t', '3000'])
|
call(['notify-send', '-a', 'pyshare', url, '-t', '3000'])
|
||||||
|
|
||||||
|
|
||||||
def parse_text(args):
|
def parse_text():
|
||||||
text = pyperclip.paste()
|
text = pyperclip.paste()
|
||||||
if re.match(r'(https?|s?ftp)://', text):
|
if re.match(r'(https?|s?ftp)://', text):
|
||||||
mirror_file(text)
|
mirror_file(text)
|
||||||
|
@ -136,13 +136,12 @@ def parse_text(args):
|
||||||
upload_text(text)
|
upload_text(text)
|
||||||
|
|
||||||
|
|
||||||
def mirror_file(text):
|
def mirror_file(text: str):
|
||||||
os.chdir(config.local_directory)
|
os.chdir(config.local_directory)
|
||||||
call(['wget', text])
|
call(['wget', text])
|
||||||
filename = text.rsplit('/', 1)[1]
|
filename = text.rsplit('/', 1)[1]
|
||||||
url = upload_local_file(os.path.join(config.local_directory, filename))
|
url = upload_local_file(os.path.join(config.local_directory, filename))
|
||||||
os.remove(os.path.join(config.local_directory, filename))
|
os.remove(os.path.join(config.local_directory, filename))
|
||||||
notify_user(url)
|
|
||||||
|
|
||||||
|
|
||||||
def upload_text(text):
|
def upload_text(text):
|
||||||
|
@ -151,7 +150,6 @@ def upload_text(text):
|
||||||
file.write(text)
|
file.write(text)
|
||||||
url = upload_local_file(os.path.join(config.local_directory, filename))
|
url = upload_local_file(os.path.join(config.local_directory, filename))
|
||||||
os.remove(os.path.join(config.local_directory, filename))
|
os.remove(os.path.join(config.local_directory, filename))
|
||||||
notify_user(url)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue
Block a user