SHORT_NAME ) swift_get_config = generic_views.get_config( SHORT_NAME, SwiftSerializer ) def _set_folder(node_addon, folder, auth): folder_id = folder['id'] node_addon.set_folder(folder_id, auth=auth) node_addon.save() swift_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, SwiftSerializer, _set_folder ) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def swift_folder_list(node_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. """ return node_addon.get_folders() @must_be_logged_in def swift_add_user_account(auth, **kwargs): """Verifies new external account credentials and adds to user's list""" try: auth_version = request.json['auth_version']
user = auth.user if not user.external_accounts.filter(id=provider.account.id).exists(): user.external_accounts.add(provider.account) user.get_or_add_addon('owncloud', auth=auth) user.save() return {} @must_have_addon(SHORT_NAME, 'user') @must_have_addon(SHORT_NAME, 'node') def owncloud_folder_list(node_addon, user_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. Not easily generalizable due to `path` kwarg. """ path = request.args.get('path') return node_addon.get_folders(path=path) def _set_folder(node_addon, folder, auth): node_addon.set_folder(folder['path'], auth=auth) node_addon.save() owncloud_set_config = generic_views.set_config(SHORT_NAME, FULL_NAME, OwnCloudSerializer, _set_folder) owncloud_get_config = generic_views.get_config(SHORT_NAME, OwnCloudSerializer)
SHORT_NAME, GoogleDriveSerializer ) googledrive_get_config = generic_views.get_config( SHORT_NAME, GoogleDriveSerializer ) 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 )
FigshareSerializer) figshare_import_auth = generic_views.import_auth(SHORT_NAME, FigshareSerializer) figshare_deauthorize_node = generic_views.deauthorize_node(SHORT_NAME) figshare_get_config = generic_views.get_config(SHORT_NAME, FigshareSerializer) def _set_folder(node_addon, folder, auth): node_addon.set_folder(folder['id'], auth=auth) node_addon.save() figshare_set_config = generic_views.set_config(SHORT_NAME, FULL_NAME, FigshareSerializer, _set_folder) def figshare_root_folder(node_settings, auth, **kwargs): """Return the Rubeus/HGrid-formatted response for the root folder only. Identical to the generic_views.root_folder except adds root_folder_type to exported data. Fangorn needs root_folder_type to decide whether to display the 'Create Folder' button. """ # Quit if node settings does not have authentication if not node_settings.has_auth or not node_settings.folder_id: return None node = node_settings.owner return [ rubeus.build_addon_root(
FULL_NAME = 'Box' box_account_list = generic_views.account_list(SHORT_NAME, BoxSerializer) box_import_auth = generic_views.import_auth(SHORT_NAME, BoxSerializer) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def box_folder_list(node_addon, **kwargs): """ 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) 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)
SHORT_NAME ) s3_get_config = generic_views.get_config( SHORT_NAME, S3Serializer ) def _set_folder(node_addon, folder, auth): folder_id = folder['id'] node_addon.set_folder(folder_id, auth=auth) node_addon.save() s3_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, S3Serializer, _set_folder ) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def s3_folder_list(node_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. """ return node_addon.get_folders() @must_be_logged_in def s3_add_user_account(auth, **kwargs): """Verifies new external account credentials and adds to user's list""" try: access_key = request.json['access_key']
SHORT_NAME, GoogleDriveSerializer ) googledrive_get_config = generic_views.get_config( SHORT_NAME, GoogleDriveSerializer ) 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 ) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def googledrive_folder_list(node_addon, **kwargs):
user.get_or_add_addon('owncloud', auth=auth) user.save() return {} @must_have_addon(SHORT_NAME, 'user') @must_have_addon(SHORT_NAME, 'node') def owncloud_folder_list(node_addon, user_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. Not easily generalizable due to `path` kwarg. """ path = request.args.get('path') return node_addon.get_folders(path=path) def _set_folder(node_addon, folder, auth): node_addon.set_folder(folder['path'], auth=auth) node_addon.save() owncloud_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, OwnCloudSerializer, _set_folder ) owncloud_get_config = generic_views.get_config( SHORT_NAME, OwnCloudSerializer )
s3compat_import_auth = generic_views.import_auth(SHORT_NAME, S3CompatSerializer) s3compat_deauthorize_node = generic_views.deauthorize_node(SHORT_NAME) s3compat_get_config = generic_views.get_config(SHORT_NAME, S3CompatSerializer) def _set_folder(node_addon, folder, auth): folder_id = folder['id'] node_addon.set_folder(folder_id, auth=auth) node_addon.save() s3compat_set_config = generic_views.set_config(SHORT_NAME, FULL_NAME, S3CompatSerializer, _set_folder) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def s3compat_folder_list(node_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. """ return node_addon.get_folders() @must_be_logged_in def s3compat_add_user_account(auth, **kwargs): """Verifies new external account credentials and adds to user's list""" try: host = request.json['host']
@must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def dropbox_folder_list(node_addon, **kwargs): """ 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 )
azureblobstorage_import_auth = generic_views.import_auth( SHORT_NAME, AzureBlobStorageSerializer) azureblobstorage_deauthorize_node = generic_views.deauthorize_node(SHORT_NAME) azureblobstorage_get_config = generic_views.get_config( SHORT_NAME, AzureBlobStorageSerializer) def _set_folder(node_addon, folder, auth): folder_id = folder['id'] node_addon.set_folder(folder_id, auth=auth) node_addon.save() azureblobstorage_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, AzureBlobStorageSerializer, _set_folder) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def azureblobstorage_folder_list(node_addon, **kwargs): """ Returns all the subsequent folders under the folder id passed. """ return node_addon.get_folders() @must_be_logged_in def azureblobstorage_add_user_account(auth, **kwargs): """Verifies new external account credentials and adds to user's list""" try: access_key = request.json['access_key']
SHORT_NAME, FigshareSerializer ) figshare_deauthorize_node = generic_views.deauthorize_node( SHORT_NAME ) figshare_get_config = generic_views.get_config( SHORT_NAME, FigshareSerializer ) def _set_folder(node_addon, folder, auth): node_addon.set_folder(folder['id'], auth=auth) node_addon.save() figshare_set_config = generic_views.set_config( SHORT_NAME, FULL_NAME, FigshareSerializer, _set_folder ) @must_have_addon(SHORT_NAME, 'node') @must_be_addon_authorizer(SHORT_NAME) def figshare_folder_list(node_addon, **kwargs): """ Returns all linkable projects / articles at root. """ return node_addon.get_folders()