示例#1
0
文件: models.py 项目: dmdm/PySite
 def __getitem__(self, name):
     validate_name(name)
     childpage_dir = os.path.join(self.dir_, self.__name__)
     fn = os.path.join(childpage_dir, name) + '.yaml'
     if not os.path.exists(fn):
         raise KeyError("Page not found: '{0}'".format(name))
     return Page(self, self.site, name, childpage_dir)
示例#2
0
文件: models.py 项目: dmdm/PySite
 def __getitem__(self, name):
     validate_name(name)
     site_dir = os.path.join(self.__class__.SITES_DIR, name)
     if not os.path.exists(site_dir):
         msg = "Site not found: '{0}'".format(name)
         logger.error(msg)
         raise KeyError(msg)
     fn = os.path.normpath(os.path.join(site_dir, '..', name + '.yaml'))
     if not os.path.exists(fn):
         msg = "Missing config file for site '{0}:{1}'".format(name, fn)
         logger.error(msg)
         raise KeyError(msg)
     return Site(self, name, site_dir)
示例#3
0
文件: models.py 项目: dmdm/PySite
    def __getitem__(self, name):
        # Access system nodes
        if name == '__sys__':
            # I expect my parent's parent to be root!
            node = self.__parent__.__parent__[name]
            # Since we're fetching the node from a different location,
            # we must advertise ourselves as parent to no break the lineage.
            node.__parent__ = self
            return node
        # Serve the blog.
        if name == self.rc['blog.url']:
            return Blog(self, self, name)

        # Otherwise serve regular pages
        # Access files from current site
        validate_name(name)
        fn = os.path.join(self.content_dir, name) + '.yaml'
        if not os.path.exists(fn):
            raise KeyError("Page not found: '{0}'".format(name))
        return Page(self, self, name, self.content_dir)