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 <goodger@python.org>
-# 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