当前位置: 首页>>代码示例>>Python>>正文


Python rubeus.collect_addon_assets函数代码示例

本文整理汇总了Python中website.util.rubeus.collect_addon_assets函数的典型用法代码示例。如果您正苦于以下问题:Python collect_addon_assets函数的具体用法?Python collect_addon_assets怎么用?Python collect_addon_assets使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了collect_addon_assets函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: addon_deleted_file

def addon_deleted_file(auth, node, **kwargs):
    """Shows a nice error message to users when they try to view
    a deleted file
    """
    # Allow file_node to be passed in so other views can delegate to this one
    trashed = kwargs.get('file_node') or TrashedFileNode.load(kwargs.get('trashed_id'))
    if not trashed:
        raise HTTPError(httplib.NOT_FOUND, {
            'message_short': 'Not Found',
            'message_long': 'This file does not exist'
        })

    ret = serialize_node(node, auth, primary=True)
    ret.update(rubeus.collect_addon_assets(node))
    ret.update({
        'urls': {
            'render': None,
            'sharejs': None,
            'mfr': settings.MFR_SERVER_URL,
            'gravatar': get_gravatar(auth.user, 25),
            'files': node.web_url_for('collect_file_trees'),
        },
        'extra': {},
        'size': 9966699,  # Prevent file from being editted, just in case
        'sharejs_uuid': None,
        'file_name': trashed.name,
        'file_path': trashed.path,
        'provider': trashed.provider,
        'materialized_path': trashed.materialized_path,
        'error': FILE_GONE_ERROR_MESSAGE.format(file_name=trashed.name),
        'private': getattr(node.get_addon(trashed.provider), 'is_private', False),
    })

    return ret, httplib.GONE
开发者ID:kms6bn,项目名称:osf.io,代码行数:34,代码来源:views.py

示例2: addon_view_file

def addon_view_file(auth, node, file_node, version):
    # TODO: resolve circular import issue
    from website.addons.wiki import settings as wiki_settings

    if isinstance(version, tuple):
        version, error = version
        error = error.replace('\n', '').strip()
    else:
        error = None

    ret = serialize_node(node, auth, primary=True)

    if file_node._id + '-' + version._id not in node.file_guid_to_share_uuids:
        node.file_guid_to_share_uuids[file_node._id + '-' + version._id] = uuid.uuid4()
        node.save()

    if ret['user']['can_edit']:
        sharejs_uuid = str(node.file_guid_to_share_uuids[file_node._id + '-' + version._id])
    else:
        sharejs_uuid = None

    download_url = furl.furl(request.url.encode('utf-8')).set(args=dict(request.args, **{
        'direct': None,
        'mode': 'render',
        'action': 'download',
    }))

    render_url = furl.furl(settings.MFR_SERVER_URL).set(
        path=['render'],
        args={'url': download_url.url}
    )

    ret.update({
        'urls': {
            'render': render_url.url,
            'mfr': settings.MFR_SERVER_URL,
            'sharejs': wiki_settings.SHAREJS_URL,
            'gravatar': get_gravatar(auth.user, 25),
            'files': node.web_url_for('collect_file_trees'),
            'archived_from': get_archived_from_url(node, file_node) if node.is_registration else None,
        },
        'error': error,
        'file_name': file_node.name,
        'file_name_title': os.path.splitext(file_node.name)[0],
        'file_name_ext': os.path.splitext(file_node.name)[1],
        'file_path': file_node.path,
        'sharejs_uuid': sharejs_uuid,
        'provider': file_node.provider,
        'materialized_path': file_node.materialized_path,
        'extra': version.metadata.get('extra', {}),
        'size': version.size if version.size is not None else 9966699,
        'private': getattr(node.get_addon(file_node.provider), 'is_private', False),
        'file_tags': [tag._id for tag in file_node.tags],
        'file_guid': file_node.get_guid()._id,
        'file_id': file_node._id,
        'allow_comments': file_node.provider in settings.ADDONS_COMMENTABLE
    })

    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:caspinelli,项目名称:osf.io,代码行数:60,代码来源:views.py

示例3: get_mako_return

 def get_mako_return(self):
     ret = serialize_node(self.project, Auth(self.user), primary=True)
     ret.update({
         'error': '',
         'provider': '',
         'file_path': '',
         'sharejs_uuid': '',
         'private': '',
         'urls': {
             'files': '',
             'render': '',
             'sharejs': '',
             'mfr': '',
             'profile_image': '',
             'external': '',
             'archived_from': '',
         },
         'size': '',
         'extra': '',
         'file_name': '',
         'materialized_path': '',
         'file_id': '',
     })
     ret.update(rubeus.collect_addon_assets(self.project))
     return ret
开发者ID:leb2dg,项目名称:osf.io,代码行数:25,代码来源:test_addons.py

示例4: get_mako_return

 def get_mako_return(self):
     ret = serialize_node(self.project, Auth(self.user), primary=True)
     ret.update(
         {
             "error": "",
             "provider": "",
             "file_path": "",
             "sharejs_uuid": "",
             "private": "",
             "urls": {
                 "files": "",
                 "render": "",
                 "sharejs": "",
                 "mfr": "",
                 "gravatar": "",
                 "external": "",
                 "archived_from": "",
             },
             "size": "",
             "extra": "",
             "file_name": "",
             "materialized_path": "",
             "file_id": "",
         }
     )
     ret.update(rubeus.collect_addon_assets(self.project))
     return ret
开发者ID:ycchen1989,项目名称:osf.io,代码行数:27,代码来源:test_addons.py

示例5: addon_view_file

def addon_view_file(auth, node, node_addon, file_guid, extras):
    render_url = node.api_url_for(
        'addon_render_file',
        path=file_guid.waterbutler_path.lstrip('/'),
        provider=file_guid.provider,
        render=True,
        **extras
    )

    ret = serialize_node(node, auth, primary=True)

    # Disable OSF Storage file deletion in DISK_SAVING_MODE
    if settings.DISK_SAVING_MODE and node_addon.config.short_name == 'osfstorage':
        ret['user']['can_edit'] = False

    ret.update({
        'provider': file_guid.provider,
        'render_url': render_url,
        'file_path': file_guid.waterbutler_path,
        'files_url': node.web_url_for('collect_file_trees'),
        'rendered': get_or_start_render(file_guid),
        # Note: must be called after get_or_start_render. This is really only for github
        'extra': json.dumps(getattr(file_guid, 'extra', {})),
        #NOTE: get_or_start_render must be called first to populate name
        'file_name': getattr(file_guid, 'name', os.path.split(file_guid.waterbutler_path)[1]),
    })

    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:erinmayhood,项目名称:osf.io,代码行数:29,代码来源:views.py

示例6: addon_deleted_file

def addon_deleted_file(auth, node, **kwargs):
    """Shows a nice error message to users when they try to view
    a deleted file
    """
    # Allow file_node to be passed in so other views can delegate to this one
    trashed = kwargs.get("file_node") or TrashedFileNode.load(kwargs.get("trashed_id"))
    if not trashed:
        raise HTTPError(httplib.NOT_FOUND, {"message_short": "Not Found", "message_long": "This file does not exist"})

    ret = serialize_node(node, auth, primary=True)
    ret.update(rubeus.collect_addon_assets(node))
    ret.update(
        {
            "urls": {
                "render": None,
                "sharejs": None,
                "mfr": settings.MFR_SERVER_URL,
                "gravatar": get_gravatar(auth.user, 25),
                "files": node.web_url_for("collect_file_trees"),
            },
            "extra": {},
            "size": 9966699,  # Prevent file from being editted, just in case
            "sharejs_uuid": None,
            "file_name": trashed.name,
            "file_path": trashed.path,
            "provider": trashed.provider,
            "materialized_path": trashed.materialized_path,
            "error": FILE_GONE_ERROR_MESSAGE.format(file_name=trashed.name),
            "private": getattr(node.get_addon(trashed.provider), "is_private", False),
        }
    )

    return ret, httplib.GONE
开发者ID:mattspitzer,项目名称:osf.io,代码行数:33,代码来源:views.py

示例7: view_project

def view_project(auth, node, **kwargs):
    primary = "/api/v1" not in request.path
    ret = _view_project(node, auth, primary=primary)
    ret["addon_capabilities"] = settings.ADDON_CAPABILITIES
    # Collect the URIs to the static assets for addons that have widgets
    ret["addon_widget_js"] = list(collect_addon_js(node, filename="widget-cfg.js", config_entry="widget"))
    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:njantrania,项目名称:osf.io,代码行数:8,代码来源:node.py

示例8: collect_file_trees

def collect_file_trees(auth, node, **kwargs):
    """Collect file trees for all add-ons implementing HGrid views, then
    format data as appropriate.
    """
    serialized = _view_project(node, auth, primary=True)
    # Add addon static assets
    serialized.update(rubeus.collect_addon_assets(node))
    return serialized
开发者ID:CenterForOpenScience,项目名称:osf.io,代码行数:8,代码来源:file.py

示例9: addon_view_file

def addon_view_file(auth, node, node_addon, guid_file, extras):
    # TODO: resolve circular import issue
    from website.addons.wiki import settings as wiki_settings

    ret = serialize_node(node, auth, primary=True)

    # Disable OSF Storage file deletion in DISK_SAVING_MODE
    if settings.DISK_SAVING_MODE and node_addon.config.short_name == 'osfstorage':
        ret['user']['can_edit'] = False

    try:
        guid_file.enrich()
    except exceptions.AddonEnrichmentError as e:
        error = e.as_html()
    else:
        error = None

    if guid_file._id not in node.file_guid_to_share_uuids:
        node.file_guid_to_share_uuids[guid_file._id] = uuid.uuid4()
        node.save()

    if ret['user']['can_edit']:
        sharejs_uuid = str(node.file_guid_to_share_uuids[guid_file._id])
    else:
        sharejs_uuid = None

    size = getattr(guid_file, 'size', None)
    if size is None:  # Size could be 0 which is a falsey value
        size = 9966699  # if we dont know the size assume its to big to edit

    ret.update({
        'error': error.replace('\n', '') if error else None,
        'provider': guid_file.provider,
        'file_path': guid_file.waterbutler_path,
        'panels_used': ['edit', 'view'],
        'private': getattr(node_addon, 'is_private', False),
        'sharejs_uuid': sharejs_uuid,
        'urls': {
            'files': node.web_url_for('collect_file_trees'),
            'render': guid_file.mfr_render_url,
            'sharejs': wiki_settings.SHAREJS_URL,
            'mfr': settings.MFR_SERVER_URL,
            'gravatar': get_gravatar(auth.user, 25),
            'external': getattr(guid_file, 'external_url', None)
        },
        # Note: must be called after get_or_start_render. This is really only for github
        'size': size,
        'extra': getattr(guid_file, 'extra', {}),
        #NOTE: get_or_start_render must be called first to populate name
        'file_name': getattr(guid_file, 'name', os.path.split(guid_file.waterbutler_path)[1]),
        'materialized_path': getattr(guid_file, 'materialized', guid_file.waterbutler_path),
    })

    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:XTech2K,项目名称:osf.io,代码行数:55,代码来源:views.py

示例10: collect_file_trees

def collect_file_trees(**kwargs):
    """Collect file trees for all add-ons implementing HGrid views, then
    format data as appropriate.
    """
    node = kwargs['node'] or kwargs['project']
    auth = kwargs['auth']

    serialized = _view_project(node, auth)
    # Add addon static assets
    serialized.update(rubeus.collect_addon_assets(node))
    return serialized
开发者ID:saradbowman,项目名称:osf.io,代码行数:11,代码来源:file.py

示例11: addon_view_file

def addon_view_file(auth, node, file_node, version):
    # TODO: resolve circular import issue
    from website.addons.wiki import settings as wiki_settings

    if isinstance(version, tuple):
        version, error = version
        error = error.replace("\n", "").strip()
    else:
        error = None

    ret = serialize_node(node, auth, primary=True)

    if file_node._id not in node.file_guid_to_share_uuids:
        node.file_guid_to_share_uuids[file_node._id] = uuid.uuid4()
        node.save()

    if ret["user"]["can_edit"]:
        sharejs_uuid = str(node.file_guid_to_share_uuids[file_node._id])
    else:
        sharejs_uuid = None

    download_url = furl.furl(request.url.encode("utf-8")).set(
        args=dict(request.args, **{"direct": None, "mode": "render", "action": "download"})
    )

    render_url = furl.furl(settings.MFR_SERVER_URL).set(path=["render"], args={"url": download_url.url})

    ret.update(
        {
            "urls": {
                "render": render_url.url,
                "mfr": settings.MFR_SERVER_URL,
                "sharejs": wiki_settings.SHAREJS_URL,
                "gravatar": get_gravatar(auth.user, 25),
                "files": node.web_url_for("collect_file_trees"),
            },
            "error": error,
            "file_name": file_node.name,
            "file_name_title": os.path.splitext(file_node.name)[0],
            "file_name_ext": os.path.splitext(file_node.name)[1],
            "file_path": file_node.path,
            "sharejs_uuid": sharejs_uuid,
            "provider": file_node.provider,
            "materialized_path": file_node.materialized_path,
            "extra": version.metadata.get("extra", {}),
            "size": version.size if version.size is not None else 9966699,
            "private": getattr(node.get_addon(file_node.provider), "is_private", False),
            "file_tags": [tag._id for tag in file_node.tags],
        }
    )

    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:mattspitzer,项目名称:osf.io,代码行数:53,代码来源:views.py

示例12: get_mako_return

 def get_mako_return(self):
     ret = serialize_node(self.project, Auth(self.user), primary=True)
     ret.update({
         'extra': '',
         'provider': '',
         'rendered': '',
         'file_path': '',
         'files_url': '',
         'file_name': '',
         'render_url': '',
     })
     ret.update(rubeus.collect_addon_assets(self.project))
     return ret
开发者ID:akrit19,项目名称:osf.io,代码行数:13,代码来源:test_addons.py

示例13: view_project

def view_project(**kwargs):
    auth = kwargs['auth']
    node = kwargs['node'] or kwargs['project']
    primary = '/api/v1' not in request.path
    ret = _view_project(node, auth, primary=primary)
    ret['addon_capabilities'] = settings.ADDON_CAPABILITIES
    # Collect the URIs to the static assets for addons that have widgets
    ret['addon_widget_js'] = list(collect_addon_js(
        node,
        filename='widget-cfg.js',
        config_entry='widget'
    ))
    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:akrit19,项目名称:osf.io,代码行数:14,代码来源:node.py

示例14: view_project

def view_project(auth, node, **kwargs):
    primary = '/api/v1' not in request.path
    ret = _view_project(node, auth,
                        primary=primary,
                        embed_contributors=True,
                        embed_descendants=True
                        )

    ret['addon_capabilities'] = settings.ADDON_CAPABILITIES
    # Collect the URIs to the static assets for addons that have widgets
    ret['addon_widget_js'] = list(collect_addon_js(
        node,
        filename='widget-cfg.js',
        config_entry='widget'
    ))
    ret.update(rubeus.collect_addon_assets(node))

    access_request = node.requests.filter(creator=auth.user).exclude(machine_state='accepted')
    ret['user']['access_request_state'] = access_request.get().machine_state if access_request else None

    addons_widget_data = {
        'wiki': None,
        'mendeley': None,
        'zotero': None,
        'forward': None,
        'dataverse': None
    }

    if 'wiki' in ret['addons']:
        addons_widget_data['wiki'] = serialize_wiki_widget(node)

    if 'dataverse' in ret['addons']:
        addons_widget_data['dataverse'] = serialize_dataverse_widget(node)

    if 'forward' in ret['addons']:
        addons_widget_data['forward'] = serialize_forward_widget(node)

    if 'zotero' in ret['addons']:
        node_addon = node.get_addon('zotero')
        zotero_widget_data = ZoteroCitationsProvider().widget(node_addon)
        addons_widget_data['zotero'] = zotero_widget_data

    if 'mendeley' in ret['addons']:
        node_addon = node.get_addon('mendeley')
        mendeley_widget_data = MendeleyCitationsProvider().widget(node_addon)
        addons_widget_data['mendeley'] = mendeley_widget_data

    ret.update({'addons_widget_data': addons_widget_data})
    return ret
开发者ID:aaxelb,项目名称:osf.io,代码行数:49,代码来源:node.py

示例15: view_project

def view_project(auth, node, **kwargs):
    primary = '/api/v1' not in request.path
    ret = _view_project(node, auth,
                        primary=primary,
                        embed_contributors=True,
                        embed_descendants=True
                        )

    ret['addon_capabilities'] = settings.ADDON_CAPABILITIES
    # Collect the URIs to the static assets for addons that have widgets
    ret['addon_widget_js'] = list(collect_addon_js(
        node,
        filename='widget-cfg.js',
        config_entry='widget'
    ))
    ret.update(rubeus.collect_addon_assets(node))
    return ret
开发者ID:adlius,项目名称:osf.io,代码行数:17,代码来源:node.py


注:本文中的website.util.rubeus.collect_addon_assets函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。