Reorganise gists folder
This commit is contained in:
98
codegrab/cloudsend.py
Executable file
98
codegrab/cloudsend.py
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import logging
|
||||
import owncloud
|
||||
import gnupg
|
||||
import os
|
||||
import requests
|
||||
import re
|
||||
from icecream import ic
|
||||
|
||||
|
||||
def isurl(text):
|
||||
pattern = 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
|
||||
matcher = re.compile(pattern)
|
||||
return matcher.match(text)
|
||||
|
||||
def upload(file,url):
|
||||
try:
|
||||
oc = owncloud.Client.from_public_link(args.url)
|
||||
ic(oc)
|
||||
response = oc.drop_file(fn)
|
||||
ic(response)
|
||||
return response
|
||||
except owncloud.owncloud.HTTPResponseError as e:
|
||||
logging.error(f'Error while uploading file {fn} <{e}>')
|
||||
|
||||
def upload_rq(file,url):
|
||||
CLOUDURL=""
|
||||
FOLDERTOKEN=""
|
||||
|
||||
# FILENAME="$1"
|
||||
|
||||
# CLOUDURL=''
|
||||
# # if we have index.php in the URL, process accordingly
|
||||
# if [[ $2 == *"index.php"* ]]; then
|
||||
# CLOUDURL="${2%/index.php/s/*}"
|
||||
# else
|
||||
# CLOUDURL="${2%/s/*}"
|
||||
# fi
|
||||
|
||||
# FOLDERTOKEN="${2##*/s/}"
|
||||
# -T "$FILENAME" -u "$FOLDERTOKEN":"$PASSWORD" -H "$HEADER" "$CLOUDURL/$PUBSUFFIX/$BFILENAME"
|
||||
# if [ ! -f "$FILENAME" ]; then
|
||||
# initError "Invalid input file: $FILENAME"
|
||||
# fi
|
||||
|
||||
# if [ -z "$CLOUDURL" ]; then
|
||||
# initError "Empty URL! Nowhere to send..."
|
||||
# fi
|
||||
|
||||
# if [ -z "$FOLDERTOKEN" ]; then
|
||||
# initError "Empty Folder Token! Nowhere to send..."
|
||||
# fi
|
||||
|
||||
|
||||
PUBSUFFIX="public.php/webdav"
|
||||
HEADER='X-Requested-With: XMLHttpRequest'
|
||||
INSECURE=''
|
||||
|
||||
headers = {
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
}
|
||||
|
||||
|
||||
response = requests.put('https://nextcloud.exampyocclientple.com/public.php/webdav/testfile.txt', headers=headers, verify=args.insecure, auth=('AtAxVrKorgC5YJf', ''))
|
||||
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("-k","--insecure",action="store_false")
|
||||
parser.add_argument("-x","--encryption",action="store",default=None,const='*',nargs="?",type=str)
|
||||
parser.add_argument("url")
|
||||
parser.add_argument("file",nargs="+")
|
||||
args=parser.parse_args()
|
||||
|
||||
if args.encryption is not None:
|
||||
ic(args.encryption)
|
||||
|
||||
if not isurl(args.url):
|
||||
logging.warning(f"URL '{args.url}' is not valid")
|
||||
|
||||
ic(args)
|
||||
for fn in args.file:
|
||||
ic(os.path.isdir(fn))
|
||||
ic(os.path.isfile(fn))
|
||||
if os.path.isdir(fn):
|
||||
logging.warning("Foldersupport not implemented yet")
|
||||
continue
|
||||
if upload(fn,args.url):
|
||||
logging.info(f"{fn} successfully uploaded")
|
||||
else:
|
||||
logging.warning(f"Error uploading {fn}")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user