Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. ~/code/projects/amnesiabbpf/ cat ../amnesiacms/amnesia/resources/root.py
  2. # -*- coding: utf-8 -*-
  3.  
  4. from amnesia.modules.content import Content
  5. from amnesia.modules.content import EntityManager
  6. from amnesia.modules.content import SessionResource
  7. from amnesia.modules.folder import FolderResource
  8. from amnesia.modules.document import DocumentResource
  9. from amnesia.modules.event import EventResource
  10. from amnesia.modules.file import FileResource
  11. from amnesia.modules.account import DatabaseAuthResource
  12. from amnesia.modules.account import RoleResource
  13. from amnesia.modules.search import SearchResource
  14. from amnesia.modules.tag import TagResource
  15.  
  16. from amnesia.resources import Resource
  17.  
  18.  
  19. _tree = {
  20. 'auth': DatabaseAuthResource,
  21. 'entities': EntityManager,
  22. 'session': SessionResource,
  23. 'event': EventResource,
  24. 'document': DocumentResource,
  25. 'folder': FolderResource,
  26. 'file': FileResource,
  27. 'search': SearchResource,
  28. 'tag': TagResource,
  29. 'roles': RoleResource
  30. }
  31.  
  32.  
  33. class Root(Resource):
  34.  
  35. __name__ = ''
  36. __parent__ = None
  37.  
  38. def __str__(self):
  39. return self.__class__.__name__
  40.  
  41. def __getitem__(self, path):
  42. # Access to a specific resource through it's id, ex: /123
  43. if path.isdigit():
  44. entity = self.dbsession.query(Content).get(path)
  45. resource = self.request.cms_get_resource(entity)
  46. return resource(self.request, entity)
  47.  
  48. return _tree[path](self.request, self)
  49.  
  50.  
  51. def get_root(request=None):
  52. return Root(request)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement