home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import os
- import tempfile
- from calibre.ebooks.rtf2xml import copy
-
- class TableInfo:
-
- def __init__(self, in_file, bug_handler, table_data, copy = None, run_level = 1):
- self._TableInfo__file = in_file
- self._TableInfo__bug_handler = bug_handler
- self._TableInfo__copy = copy
- self._TableInfo__table_data = table_data
- self._TableInfo__run_level = run_level
- self._TableInfo__write_to = tempfile.mktemp()
-
-
- def insert_info(self):
- read_obj = open(self._TableInfo__file, 'r')
- self._TableInfo__write_obj = open(self._TableInfo__write_to, 'w')
- line_to_read = 1
- while line_to_read:
- line_to_read = read_obj.readline()
- line = line_to_read
- if line == 'mi<mk<tabl-start\n':
- if len(self._TableInfo__table_data) > 0:
- table_dict = self._TableInfo__table_data[0]
- self._TableInfo__write_obj.write('mi<tg<open-att__<table')
- keys = table_dict.keys()
- for key in keys:
- self._TableInfo__write_obj.write('<%s>%s' % (key, table_dict[key]))
-
- self._TableInfo__write_obj.write('\n')
- self._TableInfo__table_data = self._TableInfo__table_data[1:]
- elif self._TableInfo__run_level > 3:
- msg = 'Not enough data for each table\n'
- raise self._TableInfo__bug_handler, msg
-
- self._TableInfo__write_obj.write('mi<tg<open______<table\n')
- elif line == 'mi<mk<table-end_\n':
- self._TableInfo__write_obj.write('mi<tg<close_____<table\n')
-
- self._TableInfo__write_obj.write(line)
- read_obj.close()
- self._TableInfo__write_obj.close()
- copy_obj = copy.Copy(bug_handler = self._TableInfo__bug_handler)
- if self._TableInfo__copy:
- copy_obj.copy_file(self._TableInfo__write_to, 'table_info.data')
-
- copy_obj.rename(self._TableInfo__write_to, self._TableInfo__file)
- os.remove(self._TableInfo__write_to)
-
-
-