示例#1
0
    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']
示例#2
0
    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)
示例#3
0
    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
)
示例#4
0
                                                   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(
示例#5
0
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)
示例#6
0
    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']
示例#7
0
    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):
示例#8
0
文件: views.py 项目: adlius/osf.io
    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
)
示例#9
0
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']
示例#10
0
@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
)
示例#11
0
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']
示例#12
0
    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()