示例#1
0
 def _init_env(self, freshenv):
     # type: (bool) -> None
     if freshenv:
         self.env = BuildEnvironment(self)
         self.env.find_files(self.config, self.builder)
         for domain in self.registry.create_domains(self.env):
             self.env.domains[domain.name] = domain
     else:
         try:
             logger.info(bold(__('loading pickled environment... ')),
                         nonl=True)
             filename = path.join(self.doctreedir, ENV_PICKLE_FILENAME)
             self.env = BuildEnvironment.frompickle(filename, self)
             self.env.domains = {}
             for domain in self.registry.create_domains(self.env):
                 # this can raise if the data version doesn't fit
                 self.env.domains[domain.name] = domain
             logger.info(__('done'))
         except Exception as err:
             if isinstance(err, IOError) and err.errno == ENOENT:
                 logger.info(__('not yet created'))
             else:
                 logger.info(__('failed: %s'), err)
             self._init_env(freshenv=True)
示例#2
0
 def _init_env(self, freshenv):
     # type: (bool) -> None
     filename = path.join(self.doctreedir, ENV_PICKLE_FILENAME)
     if freshenv or not os.path.exists(filename):
         self.env = BuildEnvironment(self)
         self.env.find_files(self.config, self.builder)
         for domain in self.registry.create_domains(self.env):
             self.env.domains[domain.name] = domain
     else:
         try:
             logger.info(bold(__('loading pickled environment... ')),
                         nonl=True)
             self.env = BuildEnvironment.frompickle(filename, self)
             needed, reason = self.env.need_refresh(self)
             if needed:
                 raise IOError(reason)
             self.env.domains = {}
             for domain in self.registry.create_domains(self.env):
                 # this can raise if the data version doesn't fit
                 self.env.domains[domain.name] = domain
             logger.info(__('done'))
         except Exception as err:
             logger.info(__('failed: %s'), err)
             self._init_env(freshenv=True)
示例#3
0
 def _init_env(self, freshenv):
     if freshenv:
         self.env = BuildEnvironment(self.srcdir, self.doctreedir,
                                     self.config)
         self.env.find_files(self.config)
         for domain in self.domains.keys():
             self.env.domains[domain] = self.domains[domain](self.env)
     else:
         try:
             self.info(bold('loading pickled environment... '), nonl=True)
             self.env = BuildEnvironment.frompickle(
                 self.config, path.join(self.doctreedir,
                                        ENV_PICKLE_FILENAME))
             self.env.domains = {}
             for domain in self.domains.keys():
                 # this can raise if the data version doesn't fit
                 self.env.domains[domain] = self.domains[domain](self.env)
             self.info('done')
         except Exception, err:
             if type(err) is IOError and err.errno == ENOENT:
                 self.info('not yet created')
             else:
                 self.info('failed: %s' % err)
             return self._init_env(freshenv=True)
示例#4
0
def setup_module():
    global app, env
    app = TestApp(srcdir='(temp)')
    env = BuildEnvironment(app.srcdir, app.doctreedir, app.config)
    env.set_warnfunc(lambda *args: warnings.append(args))