""" Returns all the subsequent folders under the folder id passed. """ folder_id = request.args.get('folder_id') return node_addon.get_folders(folder_id=folder_id) dropbox_get_config = generic_views.get_config( SHORT_NAME, DropboxSerializer ) def _set_folder(node_addon, folder, auth): uid = folder['id'] node_addon.set_folder(uid, auth=auth) node_addon.save() dropbox_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, DropboxSerializer, _set_folder ) dropbox_deauthorize_node = generic_views.deauthorize_node( SHORT_NAME ) dropbox_root_folder = generic_views.root_folder( SHORT_NAME )
SHORT_NAME, FULL_NAME, _get_folders ) github_get_config = generic_views.get_config( SHORT_NAME, GitHubSerializer ) github_deauthorize_node = generic_views.deauthorize_node( SHORT_NAME ) github_root_folder = generic_views.root_folder( SHORT_NAME ) ################# # Special Cased # ################# @must_not_be_registration @must_have_addon(SHORT_NAME, 'user') @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) @must_have_permission('write') def github_set_config(auth, **kwargs): node_settings = kwargs.get('node_addon', None) node = kwargs.get('node', None) user_settings = kwargs.get('user_addon', None)
'kind': 'folder', 'id': item['id'], 'name': item['name'], 'path': os.path.join(folder_path, item['name']), 'urls': { 'folders': node.api_url_for('box_folder_list', folderId=item['id']), } } for item in metadata['item_collection']['entries'] if item['type'] == 'folder'] box_folder_list = generic_views.folder_list(SHORT_NAME, FULL_NAME, _get_folders) box_get_config = generic_views.get_config(SHORT_NAME, BoxSerializer) def _set_folder(node_addon, folder, auth): uid = folder['id'] node_addon.set_folder(uid, auth=auth) node_addon.save() box_set_config = generic_views.set_config(SHORT_NAME, FULL_NAME, BoxSerializer, _set_folder) box_deauthorize_node = generic_views.deauthorize_node(SHORT_NAME) box_root_folder = generic_views.root_folder(SHORT_NAME)
def _set_folder(node_addon, folder, auth): node_addon.set_folder(folder, auth=auth) node_addon.save() googledrive_set_config = generic_views.set_config(SHORT_NAME, FULL_NAME, GoogleDriveSerializer, _set_folder) googledrive_import_auth = generic_views.import_auth(SHORT_NAME, GoogleDriveSerializer) googledrive_deauthorize_node = generic_views.deauthorize_node(SHORT_NAME) googledrive_root_folder = generic_views.root_folder(SHORT_NAME) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def googledrive_folder_list(node_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. Not easily generalizable due to `path` kwarg. """ node = kwargs.get('node') or node_addon.owner path = request.args.get('path', '') folder_id = request.args.get('folderId', 'root') try: access_token = node_addon.fetch_access_token()
owncloud_account_list = generic_views.account_list( SHORT_NAME, OwnCloudSerializer ) owncloud_import_auth = generic_views.import_auth( SHORT_NAME, OwnCloudSerializer ) owncloud_deauthorize_node = generic_views.deauthorize_node( SHORT_NAME ) owncloud_root_folder = generic_views.root_folder( SHORT_NAME ) ## Config ## @must_be_logged_in def owncloud_add_user_account(auth, **kwargs): """ Verifies new external account credentials and adds to user's list This view expects `host`, `username` and `password` fields in the JSON body of the request. """ # Ensure that ownCloud uses https host_url = request.json.get('host')
from website.addons.owncloud.model import OwnCloudProvider from website.addons.owncloud.serializer import OwnCloudSerializer from website.addons.owncloud import settings SHORT_NAME = 'owncloud' FULL_NAME = 'OwnCloud' owncloud_account_list = generic_views.account_list(SHORT_NAME, OwnCloudSerializer) owncloud_import_auth = generic_views.import_auth(SHORT_NAME, OwnCloudSerializer) owncloud_deauthorize_node = generic_views.deauthorize_node(SHORT_NAME) owncloud_root_folder = generic_views.root_folder(SHORT_NAME) ## Config ## @must_be_logged_in def owncloud_add_user_account(auth, **kwargs): """ Verifies new external account credentials and adds to user's list This view expects `host`, `username` and `password` fields in the JSON body of the request. """ # Ensure that ownCloud uses https host_url = request.json.get('host')
googledrive_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, GoogleDriveSerializer, _set_folder ) googledrive_import_auth = generic_views.import_auth( SHORT_NAME, GoogleDriveSerializer ) googledrive_deauthorize_node = generic_views.deauthorize_node( SHORT_NAME ) googledrive_root_folder = generic_views.root_folder( SHORT_NAME ) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def googledrive_folder_list(node_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. Not easily generalizable due to `path` kwarg. """ path = request.args.get('path', '') folder_id = request.args.get('folder_id', 'root') return node_addon.get_folders(folder_path=path, folder_id=folder_id)