예제 #1
0
파일: views.py 프로젝트: atelic/osf.io
    """ 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
)
예제 #2
0
파일: views.py 프로젝트: 545zhou/osf.io
    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)
예제 #3
0
        '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)
예제 #4
0
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()
예제 #5
0
파일: views.py 프로젝트: baylee-d/osf.io
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')
예제 #6
0
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')
예제 #7
0
파일: views.py 프로젝트: atelic/osf.io
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)