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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. import os
  6. from calibre.ebooks.rtf2xml import copy
  7.  
  8. class Preamble:
  9.     
  10.     def __init__(self, file, bug_handler, platform, default_font, code_page, copy = None, temp_dir = None):
  11.         self._Preamble__file = file
  12.         self._Preamble__bug_handler = bug_handler
  13.         self._Preamble__copy = copy
  14.         self._Preamble__default_font = default_font
  15.         self._Preamble__code_page = code_page
  16.         self._Preamble__platform = platform
  17.         if temp_dir:
  18.             self._Preamble__write_to = os.path.join(temp_dir, 'info_table_info.data')
  19.         else:
  20.             self._Preamble__write_to = 'info_table_info.data'
  21.  
  22.     
  23.     def __initiate_values(self):
  24.         self._Preamble__state = 'default'
  25.         self._Preamble__text_string = ''
  26.         self._Preamble__state_dict = {
  27.             'default': self._Preamble__default_func,
  28.             'revision': self._Preamble__revision_table_func,
  29.             'list_table': self._Preamble__list_table_func,
  30.             'body': self._Preamble__body_func }
  31.         self._Preamble__default_dict = {
  32.             'mi<mk<rtfhed-beg': self._Preamble__found_rtf_head_func,
  33.             'mi<mk<listabbeg_': self._Preamble__found_list_table_func,
  34.             'mi<mk<revtbl-beg': self._Preamble__found_revision_table_func,
  35.             'mi<mk<body-open_': self._Preamble__found_body_func }
  36.  
  37.     
  38.     def __default_func(self, line):
  39.         action = self._Preamble__default_dict.get(self._Preamble__token_info)
  40.         if action:
  41.             action(line)
  42.         else:
  43.             self._Preamble__write_obj.write(line)
  44.  
  45.     
  46.     def __found_rtf_head_func(self, line):
  47.         self._Preamble__write_obj.write('mi<tg<empty-att_<rtf-definition<default-font>%s<code-page>%s<platform>%s\n' % (self._Preamble__default_font, self._Preamble__code_page, self._Preamble__platform))
  48.  
  49.     
  50.     def __found_list_table_func(self, line):
  51.         self._Preamble__state = 'list_table'
  52.  
  53.     
  54.     def __list_table_func(self, line):
  55.         if self._Preamble__token_info == 'mi<mk<listabend_':
  56.             self._Preamble__state = 'default'
  57.         elif line[0:2] == 'tx':
  58.             pass
  59.         else:
  60.             self._Preamble__write_obj.write(line)
  61.  
  62.     
  63.     def __found_revision_table_func(self, line):
  64.         self._Preamble__state = 'revision'
  65.  
  66.     
  67.     def __revision_table_func(self, line):
  68.         if self._Preamble__token_info == 'mi<mk<revtbl-end':
  69.             self._Preamble__state = 'default'
  70.         elif line[0:2] == 'tx':
  71.             pass
  72.         else:
  73.             self._Preamble__write_obj.write(line)
  74.  
  75.     
  76.     def __found_body_func(self, line):
  77.         self._Preamble__state = 'body'
  78.         self._Preamble__write_obj.write(line)
  79.  
  80.     
  81.     def __body_func(self, line):
  82.         self._Preamble__write_obj.write(line)
  83.  
  84.     
  85.     def fix_preamble(self):
  86.         self._Preamble__initiate_values()
  87.         read_obj = open(self._Preamble__file, 'r')
  88.         self._Preamble__write_obj = open(self._Preamble__write_to, 'w')
  89.         line_to_read = 1
  90.         while line_to_read:
  91.             line_to_read = read_obj.readline()
  92.             line = line_to_read
  93.             self._Preamble__token_info = line[:16]
  94.             action = self._Preamble__state_dict.get(self._Preamble__state)
  95.             if action == None:
  96.                 sys.stderr.write('no no matching state in module preamble_rest.py\n')
  97.                 sys.stderr.write(self._Preamble__state + '\n')
  98.             
  99.             action(line)
  100.         read_obj.close()
  101.         self._Preamble__write_obj.close()
  102.         copy_obj = copy.Copy(bug_handler = self._Preamble__bug_handler)
  103.         if self._Preamble__copy:
  104.             copy_obj.copy_file(self._Preamble__write_to, 'preamble_div.data')
  105.         
  106.         copy_obj.rename(self._Preamble__write_to, self._Preamble__file)
  107.         os.remove(self._Preamble__write_to)
  108.  
  109.  
  110.