| ~/code/projects/amnesia/amnesia/resources/ more base.py | |
| # -*- coding: utf-8 -*- | |
| from pyramid.security import DENY_ALL | |
| class Resource: | |
| def __init__(self, request): | |
| self.request = request | |
| def __acl__(self): | |
| return [DENY_ALL] | |
| @property | |
| def dbsession(self): | |
| return self.request.dbsession | |
| (amnesia) █▓▒░jcigar@dev█▓▒░ Fri Apr 28 11:17:06P | |
| ~/code/projects/amnesia/amnesia/resources/ more root.py | |
| # -*- coding: utf-8 -*- | |
| from amnesia.modules.content import Content | |
| from amnesia.modules.content import Entities | |
| from amnesia.modules.folder import Folder | |
| from amnesia.modules.folder import FolderResource | |
| from amnesia.modules.folder import FolderEntity | |
| from amnesia.modules.document import Document | |
| from amnesia.modules.document import DocumentResource | |
| from amnesia.modules.document import DocumentEntity | |
| from amnesia.modules.event import Event | |
| from amnesia.modules.event import EventEntity | |
| from amnesia.modules.event import EventResource | |
| from amnesia.modules.file import File | |
| from amnesia.modules.file import FileEntity | |
| from amnesia.modules.file import FileResource | |
| from amnesia.modules.authentication import DatabaseAuthResource | |
| from amnesia.resources import Resource | |
| class Root(Resource): | |
| __name__ = '' | |
| __parent__ = None | |
| def __getitem__(self, path): | |
| # Access to a specific resource through it's id, ex: /123 | |
| if path.isdigit(): | |
| entity = self.dbsession.query(Content).get(path) | |
| if isinstance(entity, Folder): | |
| return FolderEntity(self.request, entity) | |
| elif isinstance(entity, Document): | |
| return DocumentEntity(self.request, entity) | |
| elif isinstance(entity, Event): | |
| return EventEntity(self.request, entity) | |
| elif isinstance(entity, File): | |
| return FileEntity(self.request, entity) | |
| elif path == 'auth': | |
| return DatabaseAuthResource(self.request) | |
| elif path == 'entities': | |
| return Entities(self.request, self) | |
| elif path == 'event': | |
| return EventResource(self.request, self) | |
| elif path == 'document': | |
| return DocumentResource(self.request, self) | |
| elif path == 'folder': | |
| return FolderResource(self.request, self) | |
| elif path == 'file': | |
| return FileResource(self.request, self) | |
| raise KeyError | |
| def get_root(request=None): | |
| return Root(request) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment