def __init__(self, rules=None, default_subdomain='', charset='utf-8', strict_slashes=True, redirect_defaults=True, converters=None, sort_parameters=False, sort_key=None, encoding_errors='replace', host_matching=False): _Map.__init__(self, rules, default_subdomain, charset, strict_slashes, redirect_defaults, converters, sort_parameters, sort_key, encoding_errors, host_matching)
def __init__(self, rules=[], defaultSubdomain='', charset='utf-8', strict_slashes=True, redirectDefaults=True, converters=None, sortParameters=False, sortKey=None, encodingErrors='replace', hostMatching=False): Map.__init__(self, rules=rules, default_subdomain=defaultSubdomain, charset=charset, strict_slashes=strict_slashes, redirect_defaults=redirectDefaults, converters=converters, sort_parameters=sortParameters, sort_key=sortKey, encoding_errors=encodingErrors, host_matching=hostMatching) self._rules = [] for rule in rules: self.add(rule)
def __init__(self, controller=None, children=[], name=None, only=[], excepts=[], root=False, subdomain=None, buildOnly=False, strict_slashes=None, redirectTo=None, alias=False, host=None, defaults=None, namespace=None): Map.__init__(self, rules=[], default_subdomain='', charset='utf-8', strict_slashes=True, redirect_defaults=True, converters=None, sort_parameters=False, sort_key=None, encoding_errors='replace', host_matching=False) if only != [] and excepts != []: raise ValueError('allow or deny!!!!') self._rules = [] self.children = children self.only = only self.excepts = excepts self.root = root self.subdomain = self.default_subdomain = subdomain self.buildOnly = buildOnly self.strict_slashes = strict_slashes self.redirectTo = redirectTo self.alias = alias self.host = host self.defaults = defaults self.name = name self.getName = self.getNameFromRESTAction self.namespace = namespace if self.namespace: if self.namespace.startswith('/'): self.namespace = self.namespace[1:] if self.namespace.endswith('/'): self.namespace = self.namespace[:len(self.namespace) - 1] #ディレクトリが深かった時自動で elif controller is not None: config = ConfigManager.getConfig() if config['CONTROLLER_AUTO_NAMESPACE'] and type(controller) is not int: pkgs = controller.__module__.split('.') appFolder = config['APP_DIRECTORY'] controllerFolder = config['CONTROLLER_DIRECTORY'] if appFolder in pkgs: pkgs.remove(appFolder) if controllerFolder in pkgs: pkgs.remove(controllerFolder) self.orgName = pkgs[len(pkgs) - 1] pkgs = pkgs[:len(pkgs) - 1] self.namespace = "/".join(pkgs) if self.namespace is not '': self._inSubDir = True if controller: controller = self._checkControllerType(controller) if not name: if hasattr(controller, 'baseName'): self.baseName = self.orgName = controller.baseName elif isinstance(controller, Rule): self.baseName = self.orgName = str(controller.endpoint) self.add(controller) #uuuumu if self.root: self.baseName = '/' if self.parent: self.baseName = self.parent.baseName + '/' + self.baseName if isinstance(self.children, list) and len(self.children) > 0: for child in self.children: if not isinstance(child, (Resource, RESTfulRule, Rule)): raise TypeError('children is invalid') if isinstance(child, Rule): child.rule = self.baseName + '/' + child.rule else: child.parent = self child.refresh() if isinstance(child, Resource): self._rules = self._rules + child._rules