def default(self): outdir = os.path.realpath(self.pargs.outdir[0]) self.log.info("Compiling pages to {}".format(outdir)) pages = Page.all(self.app.mdb) menus = {} for page in pages: dest_file = os.path.join(outdir, page.url[1:]) dest_dir = os.path.dirname(dest_file) try: os.makedirs(dest_dir) self.log.info("[MKDIR] {}".format(dest_dir)) except OSError as e: if e.errno != 17: raise if hasattr(page, "redirect"): self.write_redirect(from_=page.url, to=page.redirect['url'], dest=dest_file) else: menus = self.write_page(page, dest_file, menus) # handle homepage redirect home_name = "{}.html".format(self.pargs.index) home = os.path.join(outdir, home_name) lang = self.app.request.registry.settings['mokacms.default_language'] if not os.path.exists(home): to = Page.homepage(self.app.mdb, lang) if to: self.write_redirect(from_="/" + home_name, to=page.url, dest=home)
def default_homepage(request): default_lang = request.registry.settings['mokacms.default_language'] log.debug("Redirecting to default language: /{}".format(default_lang)) page = Page.homepage(request.mdb, default_lang) if not page: return HTTPNotFound() return HTTPFound(location=page.url)