o -$` @sjdZdZddlZddlmZmZddlmZddlmZddl m Z Gdd d ej Z Gd d d eZ dS) z4 Directives for typically HTML-specific constructs. reStructuredTextN)nodesutils) Directive)states) componentsc@s6eZdZGdddejejejZddZddZ dS)MetaBodyc@seZdZdZdS)z MetaBody.metazHTML-specific "meta" element.N)__name__ __module__ __qualname____doc__r r F/usr/lib/python3/dist-packages/docutils/parsers/rst/directives/html.pymetasrcCs&||\}}|j|7_g|gfS)z Meta element.) parsemetaparent)selfmatchcontext next_statenode blank_finishr r r field_markers zMetaBody.field_markerc Cs||}tt|}|j|\}}}}|}t t j dd|gd}ttd ||d<|sM|jj } |jd|t| | } | |fS|} zt| dd\} } | || <Wntjyt| d|d<Ynw| d dD]?}zt|d\} } | || <Wq{tjy}z|jj } |jd ||ft| | } | |fWYd}~Sd}~ww|j|||fS) Nwriterzhtml,latex,odt) componentformatr contentzNo content for meta tag "%s".rnamez*Error parsing meta tag attribute "%s": %s.)parse_field_markerrunescape escape2null state_machineget_first_known_indentedendrrpendingrFilterjoinlinereporterinfo literal_blocksplitextract_name_valuelowerNameValueErrorerrordocument note_pending)rrrindentedindent line_offsetrrr&r)msgtokensattnamevaltokendetailr r rrsZ      zMetaBody.parsemetaN) r r r rSpecialPreBibliographicElementrrrr r r rrs rc@s"eZdZdZdefiZddZdS)MetaT state_classescCsv|t}|jj|j|j|dd|jd\}}||jt|jkr8|j j j dt |j |j |jd}||7}|jS)NrT) initial_staterstate_machine_kwargszInvalid meta directive.)r))assert_has_contentrr?statenested_list_parsercontent_offsetSMkwargslenr#r*r1r, block_textlinenochildren)rrnew_line_offsetrr1r r rrunJs  zMeta.runN)r r r has_contentrrHrNr r r rr@Ds  r@)r __docformat__sysdocutilsrrdocutils.parsers.rstrrdocutils.transformsrSpecializedBodyrr@r r r rs   2