def change_password(self, passcode, password): """ change password """ principal = self.get_principal(passcode) self.remove_passcode(passcode) if principal is not None: changers = config.get_cfg_storage(ID_PASSWORD_CHANGER) changer = changers.get(ptah.extract_uri_schema(principal.__uri__)) if changer is not None: changer(principal, self.encode(password)) return True return False
def change_password(self, passcode, password): """ change password """ principal = self.get_principal(passcode) self.remove_passcode(passcode) if principal is not None: changers = config.registry.storage[PASSWORD_CHANGER_ID] changer = changers.get(ptah.extract_uri_schema(principal.uri)) if changer is not None: changer(principal, self.encode(password)) return True return False
def update(self): res = super(UriResolver, self).update() uri = self.uri if uri is None: uri = [self.request.GET.get('uri', '')] resolvers = config.get_cfg_storage(ID_RESOLVER) self.data = data = [] for u in uri: if u: schema = ptah.extract_uri_schema(u) resolver = resolvers.get(schema) info = { 'uri': u, 'resolver': None, 'module': None, 'line': None, 'obj': None, 'cls': None, 'clsdoc': None } if resolver is not None: info['resolver'] = resolver.__name__ info['r_doc'] = ptah.rst_to_html(resolver.__doc__ or '') info['module'] = resolver.__module__ info['name'] = '%s.%s' % (resolver.__module__, resolver.__name__) info['line'] = inspect.getsourcelines(resolver)[-1] obj = ptah.resolve(u) info['obj'] = obj if obj is not None: cls = getattr(obj, '__class__', None) info['cls'] = cls info['clsdoc'] = ptah.rst_to_html( getattr(cls, '__doc__', '') or '') if cls is not None: info['clsmod'] = cls.__module__ info['clsline'] = inspect.getsourcelines(cls)[-1] data.append(info) return res
def update(self): res = super(UriResolver, self).update() uri = self.uri if uri is None: uri = [self.request.GET.get('uri','')] resolvers = config.get_cfg_storage(ID_RESOLVER) self.data = data = [] for u in uri: if u: schema = ptah.extract_uri_schema(u) resolver = resolvers.get(schema) info = {'uri': u, 'resolver': None, 'module': None, 'line': None, 'obj': None, 'cls': None, 'clsdoc': None} if resolver is not None: info['resolver'] = resolver.__name__ info['r_doc'] = ptah.rst_to_html(resolver.__doc__ or '') info['module'] = resolver.__module__ info['name'] = '%s.%s'%( resolver.__module__, resolver.__name__) info['line'] = inspect.getsourcelines(resolver)[-1] obj = ptah.resolve(u) info['obj'] = obj if obj is not None: cls = getattr(obj, '__class__', None) info['cls'] = cls info['clsdoc'] = ptah.rst_to_html( getattr(cls, '__doc__', '') or '') if cls is not None: info['clsmod'] = cls.__module__ info['clsline'] = inspect.getsourcelines(cls)[-1] data.append(info) return res
def update(self): uri = self.uri if uri is None: uri = [self.request.GET.get("uri", "")] resolvers = config.get_cfg_storage(ID_RESOLVER) self.data = data = [] for u in uri: if u: schema = ptah.extract_uri_schema(u) resolver = resolvers.get(schema) info = { "uri": u, "resolver": None, "module": None, "line": None, "obj": None, "cls": None, "clsdoc": None, } if resolver is not None: info["resolver"] = resolver.__name__ info["r_doc"] = ptah.rst_to_html(resolver.__doc__ or "") info["module"] = resolver.__module__ info["name"] = "%s.%s" % (resolver.__module__, resolver.__name__) info["line"] = inspect.getsourcelines(resolver)[-1] obj = ptah.resolve(u) info["obj"] = obj if obj is not None: cls = getattr(obj, "__class__", None) info["cls"] = cls info["clsdoc"] = ptah.rst_to_html(getattr(cls, "__doc__", "") or "") if cls is not None: info["clsmod"] = cls.__module__ info["clsline"] = inspect.getsourcelines(cls)[-1] data.append(info)
def change_password(self, passcode, password): """ Encode and change password. :py:class:`ptah.password_changer` is beeing used. :param passcode: Previously generated passcode :param passsword: Plain password. :rtype: True if password has been changed, False otherwise. """ principal = self.get_principal(passcode) self.remove_passcode(passcode) if principal is not None: changers = config.get_cfg_storage(ID_PASSWORD_CHANGER) changer = changers.get(ptah.extract_uri_schema(principal.__uri__)) if changer is not None: changer(principal, self.encode(password)) return True return False
def can_change_password(self, principal): """ can principal password be changed """ return ptah.extract_uri_schema(principal.uri) in \ config.registry.storage[PASSWORD_CHANGER_ID]
def test_uri_extract_type(self): import ptah self.assertEqual(ptah.extract_uri_schema('test:uri'), 'test') self.assertEqual(ptah.extract_uri_schema('test'), None) self.assertEqual(ptah.extract_uri_schema(None), None)
def can_change_password(self, principal): """ can principal password be changed """ return ptah.extract_uri_schema(principal.__uri__) in \ config.get_cfg_storage(ID_PASSWORD_CHANGER)
def can_change_password(self, principal): """ Can principal password be changed. :py:class:`ptah.password_changer` is beeing used. """ return ptah.extract_uri_schema(principal.__uri__) in \ config.get_cfg_storage(ID_PASSWORD_CHANGER)