home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1118 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  5.4 KB  |  132 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. import os
  6. import tempfile
  7. from calibre.ebooks.rtf2xml import copy
  8.  
  9. class Paragraphs:
  10.     
  11.     def __init__(self, in_file, bug_handler, copy = None, write_empty_para = 1, run_level = 1):
  12.         self._Paragraphs__file = in_file
  13.         self._Paragraphs__bug_handler = bug_handler
  14.         self._Paragraphs__copy = copy
  15.         self._Paragraphs__write_empty_para = write_empty_para
  16.         self._Paragraphs__run_level = run_level
  17.         self._Paragraphs__write_to = tempfile.mktemp()
  18.  
  19.     
  20.     def __initiate_values(self):
  21.         self._Paragraphs__state = 'before_body'
  22.         self._Paragraphs__start_marker = 'mi<mk<para-start\n'
  23.         self._Paragraphs__start2_marker = 'mi<mk<par-start_\n'
  24.         self._Paragraphs__end2_marker = 'mi<mk<par-end___\n'
  25.         self._Paragraphs__end_marker = 'mi<mk<para-end__\n'
  26.         self._Paragraphs__state_dict = {
  27.             'before_body': self._Paragraphs__before_body_func,
  28.             'not_paragraph': self._Paragraphs__not_paragraph_func,
  29.             'paragraph': self._Paragraphs__paragraph_func }
  30.         self._Paragraphs__paragraph_dict = {
  31.             'cw<pf<par-end___': self._Paragraphs__close_para_func,
  32.             'mi<mk<headi_-end': self._Paragraphs__close_para_func,
  33.             'mi<mk<fldbk-end_': self._Paragraphs__close_para_func,
  34.             'mi<mk<body-close': self._Paragraphs__close_para_func,
  35.             'mi<mk<sect-close': self._Paragraphs__close_para_func,
  36.             'mi<mk<sect-start': self._Paragraphs__close_para_func,
  37.             'mi<mk<foot___clo': self._Paragraphs__close_para_func,
  38.             'cw<tb<cell______': self._Paragraphs__close_para_func,
  39.             'mi<mk<par-in-fld': self._Paragraphs__close_para_func,
  40.             'cw<pf<par-def___': self._Paragraphs__bogus_para__def_func }
  41.         self._Paragraphs__not_paragraph_dict = {
  42.             'tx<nu<__________': self._Paragraphs__start_para_func,
  43.             'tx<hx<__________': self._Paragraphs__start_para_func,
  44.             'tx<ut<__________': self._Paragraphs__start_para_func,
  45.             'tx<mc<__________': self._Paragraphs__start_para_func,
  46.             'mi<mk<inline-fld': self._Paragraphs__start_para_func,
  47.             'mi<mk<para-beg__': self._Paragraphs__start_para_func,
  48.             'cw<pf<par-end___': self._Paragraphs__empty_para_func,
  49.             'mi<mk<pict-start': self._Paragraphs__start_para_func,
  50.             'cw<pf<page-break': self._Paragraphs__empty_pgbk_func }
  51.  
  52.     
  53.     def __before_body_func(self, line):
  54.         if self._Paragraphs__token_info == 'mi<mk<body-open_':
  55.             self._Paragraphs__state = 'not_paragraph'
  56.         
  57.         self._Paragraphs__write_obj.write(line)
  58.  
  59.     
  60.     def __not_paragraph_func(self, line):
  61.         action = self._Paragraphs__not_paragraph_dict.get(self._Paragraphs__token_info)
  62.         if action:
  63.             action(line)
  64.         
  65.         self._Paragraphs__write_obj.write(line)
  66.  
  67.     
  68.     def __paragraph_func(self, line):
  69.         action = self._Paragraphs__paragraph_dict.get(self._Paragraphs__token_info)
  70.         if action:
  71.             action(line)
  72.         else:
  73.             self._Paragraphs__write_obj.write(line)
  74.  
  75.     
  76.     def __start_para_func(self, line):
  77.         self._Paragraphs__write_obj.write(self._Paragraphs__start_marker)
  78.         self._Paragraphs__write_obj.write('mi<tg<open______<para\n')
  79.         self._Paragraphs__write_obj.write(self._Paragraphs__start2_marker)
  80.         self._Paragraphs__state = 'paragraph'
  81.  
  82.     
  83.     def __empty_para_func(self, line):
  84.         if self._Paragraphs__write_empty_para:
  85.             self._Paragraphs__write_obj.write(self._Paragraphs__start_marker)
  86.             self._Paragraphs__write_obj.write('mi<tg<empty_____<para\n')
  87.             self._Paragraphs__write_obj.write(self._Paragraphs__end_marker)
  88.         
  89.  
  90.     
  91.     def __empty_pgbk_func(self, line):
  92.         self._Paragraphs__write_obj.write('mi<tg<empty_____<page-break\n')
  93.  
  94.     
  95.     def __close_para_func(self, line):
  96.         self._Paragraphs__write_obj.write(self._Paragraphs__end2_marker)
  97.         self._Paragraphs__write_obj.write('mi<tg<close_____<para\n')
  98.         self._Paragraphs__write_obj.write(self._Paragraphs__end_marker)
  99.         self._Paragraphs__write_obj.write(line)
  100.         self._Paragraphs__state = 'not_paragraph'
  101.  
  102.     
  103.     def __bogus_para__def_func(self, line):
  104.         self._Paragraphs__write_obj.write('mi<mk<bogus-pard\n')
  105.  
  106.     
  107.     def make_paragraphs(self):
  108.         self._Paragraphs__initiate_values()
  109.         read_obj = open(self._Paragraphs__file, 'r')
  110.         self._Paragraphs__write_obj = open(self._Paragraphs__write_to, 'w')
  111.         line_to_read = 1
  112.         while line_to_read:
  113.             line_to_read = read_obj.readline()
  114.             line = line_to_read
  115.             self._Paragraphs__token_info = line[:16]
  116.             action = self._Paragraphs__state_dict.get(self._Paragraphs__state)
  117.             if action == None:
  118.                 sys.stderr.write('no no matching state in module sections.py\n')
  119.                 sys.stderr.write(self._Paragraphs__state + '\n')
  120.             
  121.             action(line)
  122.         read_obj.close()
  123.         self._Paragraphs__write_obj.close()
  124.         copy_obj = copy.Copy(bug_handler = self._Paragraphs__bug_handler)
  125.         if self._Paragraphs__copy:
  126.             copy_obj.copy_file(self._Paragraphs__write_to, 'paragraphs.data')
  127.         
  128.         copy_obj.rename(self._Paragraphs__write_to, self._Paragraphs__file)
  129.         os.remove(self._Paragraphs__write_to)
  130.  
  131.  
  132.