コード例 #1
0
ファイル: resource.py プロジェクト: gaohao/rs
 def build_resources(self):
     resources = []
     if has_rest_dict(self.buildobj):
         self._path_chain.append(get_rest_dict(self.buildobj))# search chain
         
     for v in vars(self.buildobj).values():
         if isinstance(v, type):
             resources.extend(ResourceBuilder(v,
                                 self._path_chain).build_resources())
         elif isinstance(v, FunctionType):
             if has_rest_dict(v):
                 resources.append(self.build_resource(target=v,
                                                      host=self.buildobj))
     return resources
コード例 #2
0
ファイル: resource.py プロジェクト: gaohao/rs
def build_all(resources):
    resources = set(resources)
    
    #Select the top level class. Top means at the root of 'path' tree
    for c in [c for c in resources if isinstance(c, type)]:
        for v in [v for v in vars(c).values()
                  if isinstance(v, (type, FunctionType))]:
            if has_rest_dict(v):
                resources.discard(v)

    resources = sum(map(lambda resource : ResourceBuilder(resource).build(), 
                        resources),
                         [])
    return resources
コード例 #3
0
ファイル: resource.py プロジェクト: gaohao/rs
 def build(self):
     if isinstance(self.buildobj, type):
         return self.build_resources()
     elif isinstance(self.buildobj, FunctionType) and has_rest_dict(self.buildobj):
         return [self.build_resource(target=self.buildobj)]
     return []