def __process(self, settings): # {{{ unid = self.__doctree['source'] logger.debug("Processing %s", unid) builder = util.get_builder( self.__builder_name, self.allowed_builders )() builder.prepare(**self.__store_params) doctree = self.__assert_doctree() builder.process(doctree, unid, settings)
def document_new(unid, **props): builder = util.get_builder(props.get('builder', 'bluelines.Document')) specs = ( builder, builder.Reader, builder.Parser, ) prsr = frontend.OptionParser(components=specs) settings = prsr.get_default_values() doc = utils.new_document(unid, settings) if hasattr(builder, 'init'): builder.init(doc, **init) return doc
def __build(self, unid, settings=None): # {{{ logger.debug("Building %s. ", unid) contents = self.__assert_contents() builder = util.get_builder( self.__builder_name, self.allowed_builders)() self.__doctree = builder.build( contents, unid, settings, self.overrides) self.__assert_charset(builder.publisher.source.successful_encoding or self.__source_charset or 'ascii') assert self.__doctree['source'] == unid #logger.info("Deps for %s: %s", unid, settings.record_dependencies) logger.info("Deps for %s: %s", unid, self.__doctree.settings.record_dependencies)
def publish(self, unid, publish_conf=None):#, writer_settings_overrides={}): """ Render document to ouput format. """ assert publish_conf and isinstance(publish_conf, basestring), \ "Need publish-configuration name, not %s (%s). " % ( type(publish_conf), publish_conf) self.__fetch(unid) assert self.__doctree, "Cannot render unbuild source. " logger.debug("Got request to publish %s", unid) buildconf, pconf = self.__conf(publish_conf) doctree.settings = self.__settings(buildconf, pconf) #logger.info(pformat(doctree.settings.__dict__)) builder = util.get_builder(self.__builder_name, self.allowed_builders)() output = builder.render(self.__doctree, unid, writer_name=pconf.writer) return output
def publish(self, unid, publish_conf=None):#, writer_settings_overrides={}): {{{ """ Render document to ouput format. """ assert publish_conf and isinstance(publish_conf, basestring), \ "Need publish-configuration name, not %s (%s). " % ( type(publish_conf), publish_conf) self._initialize() self.__fetch(unid) self.__assert_doctree(self.__srcnfo.parent().doctree) logger.debug("Got request to publish %s", unid) buildconf, pconf = self.__conf(publish_conf) self.__doctree.settings = self.__settings(buildconf, pconf) #logger.info(pformat(doctree.settings.__dict__)) builder = util.get_builder(self.__builder_name, self.allowed_builders)() output = builder.render(self.__doctree, unid, writer_name=pconf.writer) return PublishResult(unid=unid, alias=self.alias, doctree=self.__doctree, writer_name=pconf.writer, config=pconf, output=output)