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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import os
  5. import tempfile
  6. from calibre.ebooks.rtf2xml import copy
  7.  
  8. class TableInfo:
  9.     
  10.     def __init__(self, in_file, bug_handler, table_data, copy = None, run_level = 1):
  11.         self._TableInfo__file = in_file
  12.         self._TableInfo__bug_handler = bug_handler
  13.         self._TableInfo__copy = copy
  14.         self._TableInfo__table_data = table_data
  15.         self._TableInfo__run_level = run_level
  16.         self._TableInfo__write_to = tempfile.mktemp()
  17.  
  18.     
  19.     def insert_info(self):
  20.         read_obj = open(self._TableInfo__file, 'r')
  21.         self._TableInfo__write_obj = open(self._TableInfo__write_to, 'w')
  22.         line_to_read = 1
  23.         while line_to_read:
  24.             line_to_read = read_obj.readline()
  25.             line = line_to_read
  26.             if line == 'mi<mk<tabl-start\n':
  27.                 if len(self._TableInfo__table_data) > 0:
  28.                     table_dict = self._TableInfo__table_data[0]
  29.                     self._TableInfo__write_obj.write('mi<tg<open-att__<table')
  30.                     keys = table_dict.keys()
  31.                     for key in keys:
  32.                         self._TableInfo__write_obj.write('<%s>%s' % (key, table_dict[key]))
  33.                     
  34.                     self._TableInfo__write_obj.write('\n')
  35.                     self._TableInfo__table_data = self._TableInfo__table_data[1:]
  36.                 elif self._TableInfo__run_level > 3:
  37.                     msg = 'Not enough data for each table\n'
  38.                     raise self._TableInfo__bug_handler, msg
  39.                 
  40.                 self._TableInfo__write_obj.write('mi<tg<open______<table\n')
  41.             elif line == 'mi<mk<table-end_\n':
  42.                 self._TableInfo__write_obj.write('mi<tg<close_____<table\n')
  43.             
  44.             self._TableInfo__write_obj.write(line)
  45.         read_obj.close()
  46.         self._TableInfo__write_obj.close()
  47.         copy_obj = copy.Copy(bug_handler = self._TableInfo__bug_handler)
  48.         if self._TableInfo__copy:
  49.             copy_obj.copy_file(self._TableInfo__write_to, 'table_info.data')
  50.         
  51.         copy_obj.rename(self._TableInfo__write_to, self._TableInfo__file)
  52.         os.remove(self._TableInfo__write_to)
  53.  
  54.  
  55.