Python resource 模块,Resource() 实例源码

我们从Python开源项目中,提取了以下48个代码示例,用于说明如何使用resource.Resource()

项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def getChild(self, path, request):
        if path == '':
            # ZOOP!
            if isinstance(self, Widget):
                return self.pageFactory(self)
        widget = self.getWidget(path, request)
        if widget:
            if isinstance(widget, resource.Resource):
                return widget
            else:
                p = self.pageFactory(widget)
                p.isLeaf = getattr(widget,'isLeaf',0)
                return p
        elif self.paths.has_key(path):
            prefix = getattr(sys.modules[self.__module__], '__file__', '')
            if prefix:
                prefix = os.path.abspath(os.path.dirname(prefix))
            return static.File(os.path.join(prefix, self.paths[path]))

        elif path == '__reload__':
            return self.pageFactory(Reloader(map(reflect.namedModule, [self.__module__] + self.modules)))
        else:
            return error.NoResource("No such child resource in gadget.")
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, reqauth, sessionIdentity=None, sessionPerspective=None):
        """Initialize, specifying various options.

        @param reqauth: a web.resource.Resource instance, indicating which
              resource a user will be logging into with this form; this must
              specify a serviceName attribute which indicates the name of the
              service from which perspectives will be requested.

        @param sessionIdentity: if specified, the name of the attribute on
              the user's session to set for the identity they get from logging
              in to this form.

        @param sessionPerspective: if specified, the name of the attribute on
              the user's session to set for the perspective they get from
              logging in to this form.
        """
        self.reqauth = reqauth
        self.sessionPerspective = sessionPerspective
        self.sessionIdentity = sessionIdentity
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def getChild(self, path, request):
        if path == '':
            # ZOOP!
            if isinstance(self, Widget):
                return self.pageFactory(self)
        widget = self.getWidget(path, request)
        if widget:
            if isinstance(widget, resource.Resource):
                return widget
            else:
                p = self.pageFactory(widget)
                p.isLeaf = getattr(widget,'isLeaf',0)
                return p
        elif self.paths.has_key(path):
            prefix = getattr(sys.modules[self.__module__], '__file__', '')
            if prefix:
                prefix = os.path.abspath(os.path.dirname(prefix))
            return static.File(os.path.join(prefix, self.paths[path]))

        elif path == '__reload__':
            return self.pageFactory(Reloader(map(reflect.namedModule, [self.__module__] + self.modules)))
        else:
            return error.NoResource("No such child resource in gadget.")
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, reqauth, sessionIdentity=None, sessionPerspective=None):
        """Initialize, specifying various options.

        @param reqauth: a web.resource.Resource instance, indicating which
              resource a user will be logging into with this form; this must
              specify a serviceName attribute which indicates the name of the
              service from which perspectives will be requested.

        @param sessionIdentity: if specified, the name of the attribute on
              the user's session to set for the identity they get from logging
              in to this form.

        @param sessionPerspective: if specified, the name of the attribute on
              the user's session to set for the perspective they get from
              logging in to this form.
        """
        self.reqauth = reqauth
        self.sessionPerspective = sessionPerspective
        self.sessionIdentity = sessionIdentity
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, widget):
        self.widget = widget
        resource.Resource.__init__(self)
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self):
        resource.Resource.__init__(self)
        Presentation.__init__(self)
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self):
        resource.Resource.__init__(self)
        self.widgets = {}
        self.files = []
        self.modules = []
        self.paths = {}
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def pageFactory(self, *args, **kwargs):
        """
        Gadget.pageFactory(*args, **kwargs) -> Resource
        By default, this method returns self.page(*args, **kwargs). It
        is only for backwards-compatibility -- you should set the 'pageFactory'
        attribute on your Gadget inside of its __init__ method.
        """
        #XXX: delete this after a while.
        if hasattr(self, "page"):
            log.msg("Gadget.page is deprecated, use Gadget.pageFactory instead")
            return apply(self.page, args, kwargs)
        else:
            return apply(WidgetPage, args, kwargs)
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, path, registry=None):
        resource.Resource.__init__(self)
        self.path = path
        self.registry = registry or static.Registry()
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, pathname, registry=None):
        resource.Resource.__init__(self)
        self.path = pathname
        self.registry = registry or static.Registry()
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self):
        """Initialize.
        """
        resource.Resource.__init__(self)
        self.hosts = {}
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def listStaticEntities(self):
        return resource.Resource.listStaticEntities(self) + [("Virtual Hosts", VirtualHostCollection(self))]
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def getStaticEntity(self, name):
        if name == "Virtual Hosts":
            return VirtualHostCollection(self)
        else:
            return resource.Resource.getStaticEntity(self, name)
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def getChild(self, path, request):
        """Implementation of resource.Resource's getChild method.
        """
        resrc = self._getResourceForRequest(request)
        if resrc.isLeaf:
            request.postpath.insert(0,request.prepath.pop(-1))
            return resrc
        else:
            return resrc.getChildWithDefault(path, request)
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, res, service, sessionIdentity=None, sessionPerspective=None):
        resource.Resource.__init__(self)
        self.res = res
        self.service = service
        self.sessionPerspective = sessionPerspective
        self.sessionIdentity = sessionIdentity
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, host, port):
        resource.Resource.__init__(self)
        self.host = host
        self.port = port
        self.pending = []
        self.publisher = None
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, status, brief, detail):
        resource.Resource.__init__(self)
        self.code = status
        self.brief = brief
        self.detail = detail
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, message="Sorry, resource is forbidden."):
        ErrorPage.__init__(self, http.FORBIDDEN,
                           "Forbidden Resource",
                           message)
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, url):
        resource.Resource.__init__(self)
        self.url = url
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, d):
        resource.Resource.__init__(self)
        self.d = d
项目:hostapd-mana    作者:adde88    | 项目源码 | 文件源码
def __init__(self, pathname):
        resource.Resource.__init__(self)
        filepath.FilePath.__init__(self, pathname)
项目:dati-ckan-docker    作者:italia    | 项目源码 | 文件源码
def notify_observers(self, session, method):
        session.flush()
        if not hasattr(session, '_object_cache'):
            return

        obj_cache = session._object_cache
        new = obj_cache['new']
        changed = obj_cache['changed']
        deleted = obj_cache['deleted']

        for obj in set(new):
            if isinstance(obj, (_package.Package, resource.Resource)):
                method(obj, domain_object.DomainObjectOperation.new)
        for obj in set(deleted):
            if isinstance(obj, (_package.Package, resource.Resource)):
                method(obj, domain_object.DomainObjectOperation.deleted)
        for obj in set(changed):
            if isinstance(obj, resource.Resource):
                method(obj, domain_object.DomainObjectOperation.changed)
            if getattr(obj, 'url_changed', False):
                for item in plugins.PluginImplementations(plugins.IResourceUrlChange):
                    item.notify(obj)

        changed_pkgs = set(obj for obj in changed
                           if isinstance(obj, _package.Package))

        for obj in new | changed | deleted:
            if not isinstance(obj, _package.Package):
                try:
                    related_packages = obj.related_packages()
                except AttributeError:
                    continue
                # this is needed to sort out vdm bug where pkg.as_dict does not
                # work when the package is deleted.
                for package in related_packages:
                    if package and package not in deleted | new:
                        changed_pkgs.add(package)
        for obj in changed_pkgs:
            method(obj, domain_object.DomainObjectOperation.changed)
项目:dati-ckan-docker    作者:italia    | 项目源码 | 文件源码
def add_resource(self, url, format=u'', description=u'', hash=u'', **kw):
        import resource
        self.resources_all.append(resource.Resource(
            package_id=self.id,
            url=url,
            format=format,
            description=description,
            hash=hash,
            **kw)
        )
项目:dati-ckan-docker    作者:italia    | 项目源码 | 文件源码
def all_related_revisions(self):
        '''Returns chronological list of all object revisions related to
        this package. Includes PackageRevisions, PackageTagRevisions,
        PackageExtraRevisions and ResourceRevisions.
        @return List of tuples (revision, [list of object revisions of this
                                           revision])
                Ordered by most recent first.
        '''
        from tag import PackageTag
        from resource import Resource
        from package_extra import PackageExtra

        results = {} # revision:[PackageRevision1, PackageTagRevision1, etc.]
        for pkg_rev in self.all_revisions:
            if not results.has_key(pkg_rev.revision):
                results[pkg_rev.revision] = []
            results[pkg_rev.revision].append(pkg_rev)
        for class_ in [Resource, PackageExtra, PackageTag]:
            rev_class = class_.__revision_class__
            obj_revisions = meta.Session.query(rev_class).filter_by(package_id=self.id).all()
            for obj_rev in obj_revisions:
                if not results.has_key(obj_rev.revision):
                    results[obj_rev.revision] = []
                results[obj_rev.revision].append(obj_rev)

        result_list = results.items()
        ourcmp = lambda rev_tuple1, rev_tuple2: \
                 cmp(rev_tuple2[0].timestamp, rev_tuple1[0].timestamp)
        return sorted(result_list, cmp=ourcmp)
项目:adaptivemd    作者:markovmodel    | 项目源码 | 文件源码
def initialize(self, resource):
        """
        Initialize a project with a specific resource.

        Notes
        -----
        This should only be called to setup the project and only the very
        first time.

        Parameters
        ----------
        resource : `Resource`
            the resource used in this project

        """
        self.storage.close()

        self.resource = resource

        st = MongoDBStorage(self.name, 'w')
        # st.create_store(ObjectStore('objs', None))
        st.create_store(ObjectStore('generators', TaskGenerator))
        st.create_store(ObjectStore('files', File))
        st.create_store(ObjectStore('resources', Resource))
        st.create_store(ObjectStore('models', Model))
        st.create_store(ObjectStore('tasks', Task))
        st.create_store(ObjectStore('workers', Worker))
        st.create_store(ObjectStore('logs', LogEntry))
        st.create_store(FileStore('data', DataDict))
        # st.create_store(ObjectStore('commands', Command))

        st.save(self.resource)

        st.close()

        self._open_db()
项目:nextrpi    作者:cluebyte    | 项目源码 | 文件源码
def all(self):
        """Gets all resources in cache.

        Arguments: None

        Returns: List[Resource]
        """
        return self.resources.values()
项目:nextrpi    作者:cluebyte    | 项目源码 | 文件源码
def get(self, name, **kwargs):
        """Get an resource on the character.

        Arguments:
        name (string) - name of the resource used to store on character
        default (None) - default return value if resource not found

        Returns: Resource
        """
        if self.resources.get(name):
            return self.resources[name]
        if 'default' in kwargs:
            return kwargs.get('default')
        raise AttributeError("could not find resource {}".format(name))
项目:nextrpi    作者:cluebyte    | 项目源码 | 文件源码
def _build_resource(self, **serialized_attr):
        """Return built resource given resource serialization.

        Arguments:
        serialized_attr (dict) - serialized resource

        Returns: Attribute or Resource
        """
        return Resource(self.attrobj, **serialized_attr)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, widget):
        self.widget = widget
        resource.Resource.__init__(self)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self):
        resource.Resource.__init__(self)
        Presentation.__init__(self)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self):
        resource.Resource.__init__(self)
        self.widgets = {}
        self.files = []
        self.modules = []
        self.paths = {}
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def pageFactory(self, *args, **kwargs):
        """
        Gadget.pageFactory(*args, **kwargs) -> Resource
        By default, this method returns self.page(*args, **kwargs). It
        is only for backwards-compatibility -- you should set the 'pageFactory'
        attribute on your Gadget inside of its __init__ method.
        """
        #XXX: delete this after a while.
        if hasattr(self, "page"):
            log.msg("Gadget.page is deprecated, use Gadget.pageFactory instead")
            return apply(self.page, args, kwargs)
        else:
            return apply(WidgetPage, args, kwargs)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, path, registry=None):
        resource.Resource.__init__(self)
        self.path = path
        self.registry = registry or static.Registry()
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, pathname, registry=None):
        resource.Resource.__init__(self)
        self.path = pathname
        self.registry = registry or static.Registry()
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self):
        """Initialize.
        """
        resource.Resource.__init__(self)
        self.hosts = {}
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def listStaticEntities(self):
        return resource.Resource.listStaticEntities(self) + [("Virtual Hosts", VirtualHostCollection(self))]
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def getStaticEntity(self, name):
        if name == "Virtual Hosts":
            return VirtualHostCollection(self)
        else:
            return resource.Resource.getStaticEntity(self, name)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def getChild(self, path, request):
        """Implementation of resource.Resource's getChild method.
        """
        resrc = self._getResourceForRequest(request)
        if resrc.isLeaf:
            request.postpath.insert(0,request.prepath.pop(-1))
            return resrc
        else:
            return resrc.getChildWithDefault(path, request)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, res, service, sessionIdentity=None, sessionPerspective=None):
        resource.Resource.__init__(self)
        self.res = res
        self.service = service
        self.sessionPerspective = sessionPerspective
        self.sessionIdentity = sessionIdentity
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, host, port):
        resource.Resource.__init__(self)
        self.host = host
        self.port = port
        self.pending = []
        self.publisher = None
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, status, brief, detail):
        resource.Resource.__init__(self)
        self.code = status
        self.brief = brief
        self.detail = detail
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, message="Sorry, resource is forbidden."):
        ErrorPage.__init__(self, http.FORBIDDEN,
                           "Forbidden Resource",
                           message)
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, url):
        resource.Resource.__init__(self)
        self.url = url
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, d):
        resource.Resource.__init__(self)
        self.d = d
项目:sslstrip-hsts-openwrt    作者:adde88    | 项目源码 | 文件源码
def __init__(self, pathname):
        resource.Resource.__init__(self)
        filepath.FilePath.__init__(self, pathname)
项目:zjsv-package    作者:zyp8884625    | 项目源码 | 文件源码
def makeResource(self, data):
        fuel = 0
        ammo = 0
        steel = 0
        alum = 0
        shipBlueprint = 0
        equiptBlueprint = 0
        fastRepair = 0
        fastBuild = 0
        if '2' in data: fuel = data['2']
        if '3' in data: ammo = data['3']
        if '4' in data: steel = data['4']
        if '9' in data: alum = data['9']
        return Resource(fuel, ammo, steel, alum, shipBlueprint, equiptBlueprint, fastRepair, fastBuild)
项目:dati-ckan-docker    作者:italia    | 项目源码 | 文件源码
def diff(self, to_revision=None, from_revision=None):
        '''Overrides the diff in vdm, so that related obj revisions are
        diffed as well as PackageRevisions'''
        from tag import PackageTag
        from resource import Resource
        from package_extra import PackageExtra

        results = {} # field_name:diffs
        results.update(super(Package, self).diff(to_revision, from_revision))
        # Iterate over PackageTag, PackageExtra, Resources etc.
        for obj_class in [Resource, PackageExtra, PackageTag]:
            obj_rev_class = obj_class.__revision_class__
            # Query for object revisions related to this package
            obj_rev_query = meta.Session.query(obj_rev_class).\
                            filter_by(package_id=self.id).\
                            join('revision').\
                            order_by(core.Revision.timestamp.desc())
            # Columns to include in the diff
            cols_to_diff = obj_class.revisioned_fields()
            cols_to_diff.remove('id')
            if obj_class is Resource:
                cols_to_diff.remove('package_id')
            # Particular object types are better known by an invariant field
            if obj_class is PackageTag:
                cols_to_diff.remove('tag_id')
            elif obj_class is PackageExtra:
                cols_to_diff.remove('key')
            # Iterate over each object ID
            # e.g. for PackageTag, iterate over Tag objects
            related_obj_ids = set([related_obj.id for related_obj in obj_rev_query.all()])
            for related_obj_id in related_obj_ids:
                q = obj_rev_query.filter(obj_rev_class.id==related_obj_id)
                to_obj_rev, from_obj_rev = super(Package, self).\
                    get_obj_revisions_to_diff(
                    q, to_revision, from_revision)
                for col in cols_to_diff:
                    values = [getattr(obj_rev, col) if obj_rev else '' for obj_rev in (from_obj_rev, to_obj_rev)]
                    value_diff = self._differ(*values)
                    if value_diff:
                        if obj_class.__name__ == 'PackageTag':
                            display_id = to_obj_rev.tag.name
                        elif obj_class.__name__ == 'PackageExtra':
                            display_id = to_obj_rev.key
                        else:
                            display_id = related_obj_id[:4]
                        key = '%s-%s-%s' % (obj_class.__name__, display_id, col)
                        results[key] = value_diff
        return results
项目:adaptivemd    作者:markovmodel    | 项目源码 | 文件源码
def get_scheduler(self, name=None, **kwargs):
        """

        Parameters
        ----------
        name : str
            name of the scheduler class provided by the `Resource` used in
            this project. If None (default) the cluster/queue ``default`` is
            used that needs to be implemented for every resource

        kwargs : ``**kwargs``
            Additional arguments to initialize the cluster scheduler provided
            by the `Resource`

        Notes
        -----
        the scheduler is automatically entered/opened so the pilot jobs is
        submitted to the queueing system and it counts against your
        simulation time! If you do not want to do so directly. Create
        the `Scheduler` by yourself and later call ``scheduler.enter(project)``
        to start using it. To close the scheduler call ``scheduler.exit()``

        Returns
        -------
        `Scheduler`
            the scheduler object that can be used to execute tasks on that
            cluster/queue
        """
        # get a new scheduler to submit tasks
        if name is None:
            scheduler = self.resource.default()
        else:
            scheduler = getattr(self.resource, name)(**kwargs)

        # and prepare the scheduler
        scheduler.enter(self)

        # add the task generating capabilities to the scheduler
        map(scheduler.has, self.generators)

        scheduler.stage_generators()

        return scheduler