diff -r be27ed110b50 -r d8ac696cc51f buildframework/helium/external/python/lib/2.5/docutils-0.5-py2.5.egg/docutils/parsers/rst/directives/html.py --- a/buildframework/helium/external/python/lib/2.5/docutils-0.5-py2.5.egg/docutils/parsers/rst/directives/html.py Wed Oct 28 14:39:48 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -# $Id: html.py 4667 2006-07-12 21:40:56Z wiemann $ -# Author: David Goodger -# Copyright: This module has been placed in the public domain. - -""" -Directives for typically HTML-specific constructs. -""" - -__docformat__ = 'reStructuredText' - -import sys -from docutils import nodes, utils -from docutils.parsers.rst import Directive -from docutils.parsers.rst import states -from docutils.transforms import components - - -class MetaBody(states.SpecializedBody): - - class meta(nodes.Special, nodes.PreBibliographic, nodes.Element): - """HTML-specific "meta" element.""" - pass - - def field_marker(self, match, context, next_state): - """Meta element.""" - node, blank_finish = self.parsemeta(match) - self.parent += node - return [], next_state, [] - - def parsemeta(self, match): - name = self.parse_field_marker(match) - indented, indent, line_offset, blank_finish = \ - self.state_machine.get_first_known_indented(match.end()) - node = self.meta() - pending = nodes.pending(components.Filter, - {'component': 'writer', - 'format': 'html', - 'nodes': [node]}) - node['content'] = ' '.join(indented) - if not indented: - line = self.state_machine.line - msg = self.reporter.info( - 'No content for meta tag "%s".' % name, - nodes.literal_block(line, line), - line=self.state_machine.abs_line_number()) - return msg, blank_finish - tokens = name.split() - try: - attname, val = utils.extract_name_value(tokens[0])[0] - node[attname.lower()] = val - except utils.NameValueError: - node['name'] = tokens[0] - for token in tokens[1:]: - try: - attname, val = utils.extract_name_value(token)[0] - node[attname.lower()] = val - except utils.NameValueError, detail: - line = self.state_machine.line - msg = self.reporter.error( - 'Error parsing meta tag attribute "%s": %s.' - % (token, detail), nodes.literal_block(line, line), - line=self.state_machine.abs_line_number()) - return msg, blank_finish - self.document.note_pending(pending) - return pending, blank_finish - - -class Meta(Directive): - - has_content = True - - SMkwargs = {'state_classes': (MetaBody,)} - - def run(self): - self.assert_has_content() - node = nodes.Element() - new_line_offset, blank_finish = self.state.nested_list_parse( - self.content, self.content_offset, node, - initial_state='MetaBody', blank_finish=1, - state_machine_kwargs=self.SMkwargs) - if (new_line_offset - self.content_offset) != len(self.content): - # incomplete parse of block? - error = self.state_machine.reporter.error( - 'Invalid meta directive.', - nodes.literal_block(self.block_text, self.block_text), - line=self.lineno) - node += error - return node.children