SEESenv/scripts/rst2docbook.py
changeset 4 231572ecfb59
parent 2 52d12eb31c30
child 5 c9c9819cd5e5
equal deleted inserted replaced
3:6cee07c589cb 4:231572ecfb59
    40         convert2xml(filename)
    40         convert2xml(filename)
    41 
    41 
    42 
    42 
    43 """
    43 """
    44 def convert2docbook(xml_string):
    44 def convert2docbook(xml_string):
    45 #    xml_file_obj=open(file,'r')
    45 		
    46 #    xml_string=xml_file_obj.read() 
    46 	xml_string=re.sub('<strong>','<emphasis role="strong">', xml_string)   
    47 #    xml_file_obj.close()       
    47 	xml_string=re.sub('<literal_block xml:space="preserve">','<programlisting>',xml_string)
    48     try:
    48 	xml_string=re.sub('</literal_block>','</programlisting>',xml_string)
    49         xml_string=re.sub('<strong>','<emphasis role="strong">', xml_string)   
    49 	xml_string=re.sub('<paragraph>' ,'<para>',xml_string)
    50         xml_string=re.sub('<literal_block','<programlisting>',xml_string)
    50 	xml_string=re.sub('</paragraph>' ,'</para>',xml_string)  
    51         xml_string=re.sub('</literal_block>','</programlisting>',xml_string)
    51 	xml_string=re.sub('</strong>' ,'</emphasis>',xml_string)
    52         xml_string=re.sub('xml:space="preserve">','',xml_string)
    52 	xml_string=re.sub('<bullet_list bullet="[-*+]">','<itemizedlist mark="*">',xml_string,)
    53         xml_string=re.sub('<paragraph>' ,'<para>',xml_string)
    53 	xml_string=re.sub('</bullet_list>','</itemizedlist>',xml_string)
    54         xml_string=re.sub('</paragraph>' ,'</para>',xml_string)  
    54 	xml_string=re.sub('<list_item>','<listitem>',xml_string)	
    55         xml_string=re.sub('</strong>' ,'</emphasis>',xml_string)
    55 	xml_string=re.sub('</list_item>','</listitem>',xml_string)	
    56         chapter= ET.Element("chapter")
    56 	xml_string=re.sub('<enumerated_list enumtype="arabic" prefix="" suffix=".">', '<orderedlist numeration="arabic">',xml_string)
    57         article=ET.SubElement(chapter,"article")
    57  	xml_string=re.sub('</enumerated_list>', '</orderedlist>',xml_string)
    58         articleinfo=ET.SubElement(article,"articleinfo")
    58 	xml_string=re.sub('<entry>', '',xml_string)	
    59         tree = ET.fromstring(xml_string)
    59 	xml_string=re.sub('</entry>', '',xml_string) 	
    60         title= ET.SubElement(articleinfo,"title")   
    60 	xml_string=re.sub('<row>', '',xml_string)	
    61         try:    
    61 	xml_string=re.sub('</row>', '',xml_string)	
    62             title.text=tree.items()[1][1]
    62 	xml_string=re.sub('<tbody>', '',xml_string)	
    63         except:
    63 	xml_string=re.sub('</tbody>', '',xml_string)	
    64                 pass    
    64 	xml_string=re.sub('<table>', '',xml_string)			
    65         article.insert(1,tree)
    65 	xml_string=re.sub('</table>', '',xml_string)	
    66         xml_string=ET.tostring(chapter)
    66 	xml_string=re.sub('<thead>', '',xml_string)	
    67         xml_string=re.sub('<document ids=.*">' ,'',xml_string)
    67 	xml_string=re.sub('</thead>', '',xml_string)	
    68         xml_string=re.sub('</document>' ,'',xml_string)
    68 #	xml_string=re.sub('<tgroup cols="[1-90]*"><colspec colwidth="[1-90]*"/><colspec colwidth="[1-90]*"/><colspec colwidth="[1-90]"/>', '',xml_string)
    69         return xml_string
    69 #	xml_string=re.sub('</tgroup', '',xml_string)	
    70 #    docbook_file=file.split('.')[0]+'.docbook'
    70 	chapter= ET.Element("chapter")
    71 #    f=open(docbook_file,'w')
    71 	article=ET.SubElement(chapter,"article")
    72 #    f.write(xml_string)
    72 	articleinfo=ET.SubElement(article,"articleinfo")
    73 #    xml_string=None
    73 		
    74     except :
    74 	try:	
    75         pass
    75 		tree = ET.fromstring(xml_string)
       
    76 	except:
       
    77 		print "xml_string problem"	
       
    78 	#	print "fromstring"	
       
    79 	try:    
       
    80 	        title= ET.SubElement(articleinfo,"title") 
       
    81 		title.text=tree.items()[1][1]
       
    82 	except:
       
    83 	        pass    
       
    84 	article.insert(1,tree)
       
    85 	xml_string=ET.tostring(chapter)
       
    86 	xml_string=re.sub('<document [A-Za-z=/_."]*>' ,'',xml_string)
       
    87 	xml_string=re.sub('</document>' ,'',xml_string)
       
    88 	return xml_string
       
    89 
       
    90     
    76 
    91 
    77 
    92 
    78 
    93 
    79 
    94 
    80 if __name__=='__main__':
    95 if __name__=='__main__':
    81 #    repo='/home/amit/sphinxvirt/review/'
    96 	for name in names:
    82 #    walk(repo)
    97 		#print name        
    83 #    convert(1,2,3)
    98 		#xml_string=open(name,'r').read()
    84     for name in names:
    99 		xml_string=open('ch9Using_Linux_Tools.xml','r').read()
    85         print name        
   100 		xml_string=convert2docbook(xml_string)
    86         xml_string=open(name,'r').read()
   101 		docbook_file=name.split('.')[0]+'.docbook'
    87          
   102 		f=open(docbook_file,'w')
    88         xml_string=convert2docbook(xml_string)
   103 		try:        
    89         docbook_file=name.split('.')[0]+'.docbook'
   104 		    f.write(xml_string)
    90         f=open(docbook_file,'w')
   105 		except:
    91         try:        
   106 		        pass
    92             f.write(xml_string)
       
    93         except:
       
    94                 pass
       
    95 
   107 
    96 
   108 
    97 
   109 
    98 
   110 
    99 
   111 
   103 
   115 
   104 
   116 
   105 
   117 
   106 
   118 
   107 
   119 
   108 
       
   109 
       
   110 
       
   111 
       
   112 
       
   113 
       
   114 
       
   115 
       
   116 
       
   117 
       
   118 
       
   119 
       
   120 
       
   121 
       
   122 
       
   123 
       
   124 
       
   125 
       
   126