def filter_stream(self, req, method, filename, stream, data): """Insert default Bootstrap CSS classes if rendering legacy templates (i.e. determined by template name prefix). """ tx = Transformer('body') def add_classes(classes): """Return a function ensuring CSS classes will be there for element. """ def attr_modifier(name, event): attrs = event[1][1] class_list = attrs.get(name, '').split() self.log.debug('BH Theme : Element classes ' + str(class_list)) out_classes = ' '.join(set(class_list + classes)) self.log.debug('BH Theme : Inserting class ' + out_classes) return out_classes return attr_modifier # Insert default bootstrap CSS classes if necessary for xpath, classes in self.BOOTSTRAP_CSS_DEFAULTS: tx = tx.end().select(xpath) \ .attr('class', add_classes(classes)) return stream | tx
def filter_stream(self, req, method, filename, stream, data): """Insert default Bootstrap CSS classes if rendering legacy templates (i.e. determined by template name prefix) and renames wiki guide links. """ tx = Transformer('body') def add_classes(classes): """Return a function ensuring CSS classes will be there for element. """ def attr_modifier(name, event): attrs = event[1][1] class_list = attrs.get(name, '').split() self.log.debug('BH Theme : Element classes ' + str(class_list)) out_classes = ' '.join(set(class_list + classes)) self.log.debug('BH Theme : Inserting class ' + out_classes) return out_classes return attr_modifier # Insert default bootstrap CSS classes if necessary for xpath, classes in self.BOOTSTRAP_CSS_DEFAULTS: tx = tx.end().select(xpath) \ .attr('class', add_classes(classes)) # Rename wiki guide links tx = tx.end() \ .select("body//a[contains(@href,'/wiki/%s')]" % wiki.GUIDE_NAME) \ .map(lambda text: wiki.new_name(text), TEXT) # Rename trac error app_short = self.labels_application_short tx = tx.end() \ .select("body//div[@class='error']/h1") \ .map(lambda text: text.replace("Trac", app_short), TEXT) return stream | tx
def filter_stream(self, req, method, filename, stream, data): """Insert default Bootstrap CSS classes if rendering legacy templates (i.e. determined by template name prefix) and renames wiki guide links. """ tx = Transformer('body') def add_classes(classes): """Return a function ensuring CSS classes will be there for element. """ def attr_modifier(name, event): attrs = event[1][1] class_list = attrs.get(name, '').split() self.log.debug('BH Theme : Element classes ' + str(class_list)) out_classes = ' '.join(set(class_list + classes)) self.log.debug('BH Theme : Inserting class ' + out_classes) return out_classes return attr_modifier # Insert default bootstrap CSS classes if necessary for xpath, classes in self.BOOTSTRAP_CSS_DEFAULTS: tx = tx.end().select(xpath) \ .attr('class', add_classes(classes)) # Rename wiki guide links tx = tx.end() \ .select("body//a[contains(@href,'/wiki/%s')]" % wiki.GUIDE_NAME) \ .map(lambda text: wiki.new_name(text), TEXT) # Rename trac error app_short = self.labels_application_short tx = tx.end() \ .select("body//div[@class='error']/h1") \ .map(lambda text: text.replace("Trac", app_short), TEXT) return stream | tx