|
def | __init__ (self, settings, auto_create_user=False, on_user_exist=None, on_update_users=None, on_error=None, show_errors=False, on_apikey_required=None, on_bearer_required=None, timeout=5000) |
|
def | init_settings (self, auto_create_user=True) |
|
def | find_or_create_folder (self, folder_name) |
|
def | clear_folder (self, folder_id=None) |
|
def | delete_folder (self, folder_id, permanent=True, recurse=True) |
|
def | rename_folder (self, folder_id, new_name) |
|
def | upload_file (self, filepath, folder_id=None, overwrite=False, makelink=True, activelink=True, directlink=True, expire=None, password=None) |
|
def | delete_file (self, file_id, permanent=True) |
|
def | rename_file (self, file_id, new_name) |
|
def | download_file (self, file_id, save_folder='', overwrite=False) |
|
def | create_file_link (self, file_id, activelink=True, directlink=True, expire=None, password=None) |
|
def | get_file_link (self, link_id) |
|
def | update_file_link (self, link_id, activelink=None, expire=None, password=None) |
|
def | delete_file_link (self, link_id) |
|
|
string | APIURL = 'https://api.kloudless.com/v2/' |
|
int | ACCID = 352604900 |
|
string | ROOTNAME = 'pycrossall' |
|
string | APP_ID = 'RXaPpmxluGS7vMYoWfve847PzGuvPVdbunZe2W_vJKQdvxzx' |
|
string | OAUTH_URL = f"https://api.kloudless.com/v1/oauth/?client_id={APP_ID}&response_type=token&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=dropbox&state={{}}" |
|
|
def | _authenticate (self, force_api_key=False) |
|
def | _error (self, message, code=None, title=_('Error'), msgtype='error', raise_error=False) |
|
def | _error_tostr (self, error) |
|
def | _request (self, url, command='get', returntype='json', error_keymap={ 'message':'message', 'code':'status_code'}, **kwargs) |
|
def | _get_apikey (self) |
|
def | _get_bearer (self) |
|
def | _check_bearer (self, bearer_token=None) |
|
def | _make_headers (self, content_type='application/json', force_api_key=False) |
|
def | _create_account (self) |
|
def | _get_accounts (self, enabled=None, admin=None, search=None) |
|
def | _get_account_matadata (self, account_id, retrieve_tokens=False, retrieve_full=True) |
|
def | _get_quota (self) |
|
def | _get_folder_objects (self, fid, recurse=False) |
|
def | _get_folder_ancestors (self, folder_id) |
|
def | _is_user_folder (self, folder_id) |
|
def | _generate_username (self) |
|
def | _create_folder (self, folder_name, parent_id='root', error_on_exist=False) |
|
def | _update_users (self) |
|
def | _get_file_metadata (self, file_id) |
|
def | _get_folder_metadata (self, folder_id=None) |
|
def | _user_exists (self, username, update_user_list=False) |
|
def | _find_or_create_user (self, username=None, update_user_list=False) |
|
def | _delete_user (self, username=None) |
|
◆ __init__()
def pycross.utils.onlineservices.Cloudstorage.__init__ |
( |
|
self, |
|
|
|
settings, |
|
|
|
auto_create_user = False , |
|
|
|
on_user_exist = None , |
|
|
|
on_update_users = None , |
|
|
|
on_error = None , |
|
|
|
show_errors = False , |
|
|
|
on_apikey_required = None , |
|
|
|
on_bearer_required = None , |
|
|
|
timeout = 5000 |
|
) |
| |
◆ _authenticate()
def pycross.utils.onlineservices.Cloudstorage._authenticate |
( |
|
self, |
|
|
|
force_api_key = False |
|
) |
| |
|
private |
◆ _check_bearer()
def pycross.utils.onlineservices.Cloudstorage._check_bearer |
( |
|
self, |
|
|
|
bearer_token = None |
|
) |
| |
|
private |
◆ _create_account()
def pycross.utils.onlineservices.Cloudstorage._create_account |
( |
|
self | ) |
|
|
private |
Create a new client account and bind it to the Kloudless/pycross app.
Retrieved Account ID and Bearer Token will be written to settings.
TODO: Implement when default Dropbox storage is not enough.
◆ _create_folder()
def pycross.utils.onlineservices.Cloudstorage._create_folder |
( |
|
self, |
|
|
|
folder_name, |
|
|
|
parent_id = 'root' , |
|
|
|
error_on_exist = False |
|
) |
| |
|
private |
◆ _delete_user()
def pycross.utils.onlineservices.Cloudstorage._delete_user |
( |
|
self, |
|
|
|
username = None |
|
) |
| |
|
private |
◆ _error()
def pycross.utils.onlineservices.Cloudstorage._error |
( |
|
self, |
|
|
|
message, |
|
|
|
code = None , |
|
|
|
title = _('Error') , |
|
|
|
msgtype = 'error' , |
|
|
|
raise_error = False |
|
) |
| |
|
private |
◆ _error_tostr()
def pycross.utils.onlineservices.Cloudstorage._error_tostr |
( |
|
self, |
|
|
|
error |
|
) |
| |
|
private |
◆ _find_or_create_user()
def pycross.utils.onlineservices.Cloudstorage._find_or_create_user |
( |
|
self, |
|
|
|
username = None , |
|
|
|
update_user_list = False |
|
) |
| |
|
private |
Creates or finds the subfolder: dropbox/pycrossall/<username>.
If found and 'error_on_exist' == True, displays error and quits.
Otherwise, sets self._user = (user_name, user_id).
On any failure, self._user will be set to None.
If username == None (default), an automatic username is generated.
◆ _generate_username()
def pycross.utils.onlineservices.Cloudstorage._generate_username |
( |
|
self | ) |
|
|
private |
◆ _get_account_matadata()
def pycross.utils.onlineservices.Cloudstorage._get_account_matadata |
( |
|
self, |
|
|
|
account_id, |
|
|
|
retrieve_tokens = False , |
|
|
|
retrieve_full = True |
|
) |
| |
|
private |
Service method: gets metadata for account specified by 'account_id'.
◆ _get_accounts()
def pycross.utils.onlineservices.Cloudstorage._get_accounts |
( |
|
self, |
|
|
|
enabled = None , |
|
|
|
admin = None , |
|
|
|
search = None |
|
) |
| |
|
private |
Service method: lists all accounts tied to the pycross app on Kloudless.
◆ _get_apikey()
def pycross.utils.onlineservices.Cloudstorage._get_apikey |
( |
|
self | ) |
|
|
private |
◆ _get_bearer()
def pycross.utils.onlineservices.Cloudstorage._get_bearer |
( |
|
self | ) |
|
|
private |
◆ _get_file_metadata()
def pycross.utils.onlineservices.Cloudstorage._get_file_metadata |
( |
|
self, |
|
|
|
file_id |
|
) |
| |
|
private |
Retrieves the metadata of the given file: name, path, size, date, etc.
◆ _get_folder_ancestors()
def pycross.utils.onlineservices.Cloudstorage._get_folder_ancestors |
( |
|
self, |
|
|
|
folder_id |
|
) |
| |
|
private |
◆ _get_folder_metadata()
def pycross.utils.onlineservices.Cloudstorage._get_folder_metadata |
( |
|
self, |
|
|
|
folder_id = None |
|
) |
| |
|
private |
Retrieves the metadata of the given folder: name, path, size, date, etc.
If 'folder_id' is None, the current user's folder will be used.
◆ _get_folder_objects()
def pycross.utils.onlineservices.Cloudstorage._get_folder_objects |
( |
|
self, |
|
|
|
fid, |
|
|
|
recurse = False |
|
) |
| |
|
private |
◆ _get_quota()
def pycross.utils.onlineservices.Cloudstorage._get_quota |
( |
|
self | ) |
|
|
private |
Retrieves storage quota information.
◆ _is_user_folder()
def pycross.utils.onlineservices.Cloudstorage._is_user_folder |
( |
|
self, |
|
|
|
folder_id |
|
) |
| |
|
private |
Checks if given folder is inside current user's folder.
◆ _make_headers()
def pycross.utils.onlineservices.Cloudstorage._make_headers |
( |
|
self, |
|
|
|
content_type = 'application/json' , |
|
|
|
force_api_key = False |
|
) |
| |
|
private |
◆ _request()
def pycross.utils.onlineservices.Cloudstorage._request |
( |
|
self, |
|
|
|
url, |
|
|
|
command = 'get' , |
|
|
|
returntype = 'json' , |
|
|
|
error_keymap = {'message': 'message', 'code': 'status_code'} , |
|
|
** |
kwargs |
|
) |
| |
|
private |
◆ _update_users()
def pycross.utils.onlineservices.Cloudstorage._update_users |
( |
|
self | ) |
|
|
private |
Updates the list of subfolders present in dropbox/pycrossall root folder.
The names of these subfolders correspond to the names of the
registered users.
◆ _user_exists()
def pycross.utils.onlineservices.Cloudstorage._user_exists |
( |
|
self, |
|
|
|
username, |
|
|
|
update_user_list = False |
|
) |
| |
|
private |
◆ clear_folder()
def pycross.utils.onlineservices.Cloudstorage.clear_folder |
( |
|
self, |
|
|
|
folder_id = None |
|
) |
| |
Clears given (sub)folder.
◆ create_file_link()
def pycross.utils.onlineservices.Cloudstorage.create_file_link |
( |
|
self, |
|
|
|
file_id, |
|
|
|
activelink = True , |
|
|
|
directlink = True , |
|
|
|
expire = None , |
|
|
|
password = None |
|
) |
| |
Creates public link to specified file (given by file ID).
Returns the link meta info (dict).
◆ delete_file()
def pycross.utils.onlineservices.Cloudstorage.delete_file |
( |
|
self, |
|
|
|
file_id, |
|
|
|
permanent = True |
|
) |
| |
Deletes the file with the given ID, optionally permanently.
Returns True on success, False otherwise.
◆ delete_file_link()
def pycross.utils.onlineservices.Cloudstorage.delete_file_link |
( |
|
self, |
|
|
|
link_id |
|
) |
| |
Deletes public link to specified file (given by file ID).
Returns True on success / False on failure.
◆ delete_folder()
def pycross.utils.onlineservices.Cloudstorage.delete_folder |
( |
|
self, |
|
|
|
folder_id, |
|
|
|
permanent = True , |
|
|
|
recurse = True |
|
) |
| |
Deletes the folder with the given ID, optionally permanently.
Returns True on success, False otherwise.
◆ download_file()
def pycross.utils.onlineservices.Cloudstorage.download_file |
( |
|
self, |
|
|
|
file_id, |
|
|
|
save_folder = '' , |
|
|
|
overwrite = False |
|
) |
| |
Downloads the given file to the folder given by 'save_folder'.
If 'save_folder' is empty, the file is downloaded to the working dir.
Returns True on success / False otherwise.
◆ find_or_create_folder()
def pycross.utils.onlineservices.Cloudstorage.find_or_create_folder |
( |
|
self, |
|
|
|
folder_name |
|
) |
| |
Finds or creates new subfolder in user's folder.
Returns the tuple (folder_name, folder_id) or None on failure.
◆ get_file_link()
def pycross.utils.onlineservices.Cloudstorage.get_file_link |
( |
|
self, |
|
|
|
link_id |
|
) |
| |
Retrieves file link info (given by link ID).
Returns the link meta info (dict).
◆ init_settings()
def pycross.utils.onlineservices.Cloudstorage.init_settings |
( |
|
self, |
|
|
|
auto_create_user = True |
|
) |
| |
◆ rename_file()
def pycross.utils.onlineservices.Cloudstorage.rename_file |
( |
|
self, |
|
|
|
file_id, |
|
|
|
new_name |
|
) |
| |
Renames the given file (in the original folder).
Returns the tuple (file_name, file_id) or None on failure.
◆ rename_folder()
def pycross.utils.onlineservices.Cloudstorage.rename_folder |
( |
|
self, |
|
|
|
folder_id, |
|
|
|
new_name |
|
) |
| |
Renames the given (sub)folder to 'new_name'.
Returns the tuple (folder_name, folder_id) or None on failure.
◆ update_file_link()
def pycross.utils.onlineservices.Cloudstorage.update_file_link |
( |
|
self, |
|
|
|
link_id, |
|
|
|
activelink = None , |
|
|
|
expire = None , |
|
|
|
password = None |
|
) |
| |
Updates public link to specified file (given by file ID).
Returns the link meta info (dict).
◆ upload_file()
def pycross.utils.onlineservices.Cloudstorage.upload_file |
( |
|
self, |
|
|
|
filepath, |
|
|
|
folder_id = None , |
|
|
|
overwrite = False , |
|
|
|
makelink = True , |
|
|
|
activelink = True , |
|
|
|
directlink = True , |
|
|
|
expire = None , |
|
|
|
password = None |
|
) |
| |
Uploads a file into the current user's folder (optionally subfolder) and returns the link info.
If 'overwrite' == True, the first file with the same name will be overwritten.
Otherwise, the uploaded file will be automatically renamed.
◆ _accid
pycross.utils.onlineservices.Cloudstorage._accid |
|
private |
◆ _apikey
pycross.utils.onlineservices.Cloudstorage._apikey |
|
private |
◆ _baseurl
pycross.utils.onlineservices.Cloudstorage._baseurl |
|
private |
◆ _bearer
pycross.utils.onlineservices.Cloudstorage._bearer |
|
private |
◆ _rootid
pycross.utils.onlineservices.Cloudstorage._rootid |
|
private |
◆ _user
pycross.utils.onlineservices.Cloudstorage._user |
|
private |
◆ ACCID
int pycross.utils.onlineservices.Cloudstorage.ACCID = 352604900 |
|
static |
◆ APIURL
string pycross.utils.onlineservices.Cloudstorage.APIURL = 'https://api.kloudless.com/v2/' |
|
static |
◆ APP_ID
string pycross.utils.onlineservices.Cloudstorage.APP_ID = 'RXaPpmxluGS7vMYoWfve847PzGuvPVdbunZe2W_vJKQdvxzx' |
|
static |
◆ OAUTH_URL
string pycross.utils.onlineservices.Cloudstorage.OAUTH_URL = f"https://api.kloudless.com/v1/oauth/?client_id={APP_ID}&response_type=token&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=dropbox&state={{}}" |
|
static |
◆ on_apikey_required
pycross.utils.onlineservices.Cloudstorage.on_apikey_required |
◆ on_bearer_required
pycross.utils.onlineservices.Cloudstorage.on_bearer_required |
◆ on_error
pycross.utils.onlineservices.Cloudstorage.on_error |
◆ on_update_users
pycross.utils.onlineservices.Cloudstorage.on_update_users |
◆ on_user_exist
pycross.utils.onlineservices.Cloudstorage.on_user_exist |
◆ ROOTNAME
string pycross.utils.onlineservices.Cloudstorage.ROOTNAME = 'pycrossall' |
|
static |
◆ settings
pycross.utils.onlineservices.Cloudstorage.settings |
◆ show_errors
pycross.utils.onlineservices.Cloudstorage.show_errors |
◆ timeout
pycross.utils.onlineservices.Cloudstorage.timeout |
◆ users
pycross.utils.onlineservices.Cloudstorage.users |
The documentation for this class was generated from the following file: