Changeset 42

Show
Ignore:
Timestamp:
Mon Jun 27 05:25:30 2005
Author:
fredrikc
Message:

Added support for creating "xlz" files (a zip containing the xliff and skeleton).

Files:

Legend:

Unmodified
Added
Removed
Modified
  • trunk/transolution/filters/sgml2xliff.py

    r27 r42  
    437 437                   action='store', type='string', dest='skipwords',  
    438 438                   help='a file containing a the words not to segment after. Example: vs. Mr.')  
      439     op.add_option('-z', '--xlz',  
      440                   action='store_true', dest='xlz',  
      441                   help='Create a xlz (zip file containing xliff and skeleton files).')  
    439 442  
    440 443  
     
    499 502         print "datatype:%s"%(datatype,)  
    500 503  
    501           fname_out = fname.splitext()[0] + '.xlf'  
    502           fsklname = fname_out + '.skl'  
    503           outf = file(fname_out,'w')  
    504           sklfile = file(fsklname,'w')  
      504         if options.xlz:  
      505             xlf_filename = path( 'content.xlf')  
      506             skl_filename = path('skeleton.skl')  
      507             fxlz = path(fname + '.xlz')  
      508         else:  
      509             xlf_filename = path(fname.splitext()[0] + '.xlf')  
      510             skl_filename = path(fname.splitext()[0] + '.skl')  
      511  
      512         outf = file(xlf_filename,'w')  
      513         sklfile = file(skl_filename,'w')  
    505 514  
    506 515         xlfdoc = xliff_builders.dom_impl.createDocument(xliff_builders.EMPTY_NAMESPACE, "xliff", None)  
     
    515 524  
    516 525         # create header with skeleton info  
    517           sklnode = ce('skl',childs=[ce('external-file',{'href':path(fsklname).basename()}) ])  
      526         sklnode = ce('skl',childs=[ce('external-file',{'href':path(skl_filename).basename()}) ])  
    517 526         propnode = ce('prop',{'type':'source-encoding'},[unicode(encoding),])  
    518 527         propgroupnode = ce('prop-group',{'name':'sourceinfo'},[propnode,])  
     
    527 536  
    528 537         # create skeleton dom  
    529           skeleton = SkeletonBuilder(skldoc,fname,options.slang,'xml',fname_out)  
      538         skeleton = SkeletonBuilder(skldoc,fname,options.slang,'xml',xlf_filename)  
    529 538  
    530 539  
     
    543 552         for skl_node in handler.sklnodes:  
    544 553             skeleton.addToBody(skl_node)  
    545           print "Writing XLIFF"  
      554         print "  Writing XLIFF"  
    545 554         transolution.xmlutils.toxml(xlfdoc,outf)  
    546 555         transolution.xmlutils.toxml(skeleton.doc,sklfile)  
      556         outf.close()  
      557         sklfile.close()  
      558         if options.xlz:  
      559             # create a xlz archive.  
      560             import zipfile  
      561             xlz = zipfile.ZipFile(fxlz,'w',zipfile.ZIP_DEFLATED)  
      562             xlz.write(xlf_filename,'content.xlf')  
      563             xlz.write(skl_filename,'skeleton.skl')  
      564             xlz.close()  
      565             xlf_filename.remove()  
      566             skl_filename.remove()  
    547 567         print "  Done"  
    548 568         del xlfdoc