def get(self, name, default=None): schema = storage.getSchema(IContentTypeSchema) item = schema.query(schema.Type.oid == name).first() if item is None: return default return IContentType(storage.getItem(item.oid))
def getUserByLogin(self, login): sch = storage.getSchema(IUserInfo) ds = sch.query(sch.Type.login == login).first() if ds is not None: user = storage.getItem(ds.oid) user.id = 'memphis-%s'%user.oid return user
def getUser(self, id): if id and id.startswith('memphis-'): try: user = storage.getItem(id[8:]) user.id = id return user except: pass
def __item__(self): try: if self.__oid__ is None: self.__oid__ = self.__behavior__.getBehaviorOIDs().next() item = storage.getItem(self.__oid__) except StopIteration: item = storage.insertItem(self.__behavior__.name) self.__oid__ = item.oid return item
def get(cls, principal): if cls.__schema__ is None: cls.__schema__ = storage.getSchema(IPreferences) rec = cls.__schema__.query( cls.__schema__.Type.principal == principal).first() if rec is None: item = storage.insertItem(IPreferences) IPreferences(item).principal = principal else: item = storage.getItem(rec.oid) item.id = principal return Preferences(item)
def getRoot(): global rootOID behavior = storage.getBehavior(IRoot) try: if rootOID is None: rootOID = behavior.getBehaviorOIDs().next() return LocationProxy(storage.getItem(rootOID), None, "") except StopIteration: item = storage.insertItem(IRoot) rootOID = item.oid dc = IContent(item) dc.title = u"Site" dc.description = u"Default memphis site." event.notify(ObjectCreatedEvent(item)) return LocationProxy(item, None, "")
def getPrincipal(self, passcode): sch = storage.getSchema(IPasswordReset) rec = sch.query(sch.Type.passcode == passcode).first() if rec is not None: return storage.getItem(rec.oid)
def storageInitializedEvent(ev): sch = storage.getSchema(ISchema) for item in sch.query(): ttwschema = ISchema(storage.getItem(item.oid)) ttwschema.installSchema()
def getContentType(item): try: return IContentType(storage.getItem(IContent(item).type), None) except KeyError: pass