home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import sys
- import os
- from calibre.ebooks.rtf2xml import copy
-
- class Preamble:
-
- def __init__(self, file, bug_handler, platform, default_font, code_page, copy = None, temp_dir = None):
- self._Preamble__file = file
- self._Preamble__bug_handler = bug_handler
- self._Preamble__copy = copy
- self._Preamble__default_font = default_font
- self._Preamble__code_page = code_page
- self._Preamble__platform = platform
- if temp_dir:
- self._Preamble__write_to = os.path.join(temp_dir, 'info_table_info.data')
- else:
- self._Preamble__write_to = 'info_table_info.data'
-
-
- def __initiate_values(self):
- self._Preamble__state = 'default'
- self._Preamble__text_string = ''
- self._Preamble__state_dict = {
- 'default': self._Preamble__default_func,
- 'revision': self._Preamble__revision_table_func,
- 'list_table': self._Preamble__list_table_func,
- 'body': self._Preamble__body_func }
- self._Preamble__default_dict = {
- 'mi<mk<rtfhed-beg': self._Preamble__found_rtf_head_func,
- 'mi<mk<listabbeg_': self._Preamble__found_list_table_func,
- 'mi<mk<revtbl-beg': self._Preamble__found_revision_table_func,
- 'mi<mk<body-open_': self._Preamble__found_body_func }
-
-
- def __default_func(self, line):
- action = self._Preamble__default_dict.get(self._Preamble__token_info)
- if action:
- action(line)
- else:
- self._Preamble__write_obj.write(line)
-
-
- def __found_rtf_head_func(self, line):
- 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))
-
-
- def __found_list_table_func(self, line):
- self._Preamble__state = 'list_table'
-
-
- def __list_table_func(self, line):
- if self._Preamble__token_info == 'mi<mk<listabend_':
- self._Preamble__state = 'default'
- elif line[0:2] == 'tx':
- pass
- else:
- self._Preamble__write_obj.write(line)
-
-
- def __found_revision_table_func(self, line):
- self._Preamble__state = 'revision'
-
-
- def __revision_table_func(self, line):
- if self._Preamble__token_info == 'mi<mk<revtbl-end':
- self._Preamble__state = 'default'
- elif line[0:2] == 'tx':
- pass
- else:
- self._Preamble__write_obj.write(line)
-
-
- def __found_body_func(self, line):
- self._Preamble__state = 'body'
- self._Preamble__write_obj.write(line)
-
-
- def __body_func(self, line):
- self._Preamble__write_obj.write(line)
-
-
- def fix_preamble(self):
- self._Preamble__initiate_values()
- read_obj = open(self._Preamble__file, 'r')
- self._Preamble__write_obj = open(self._Preamble__write_to, 'w')
- line_to_read = 1
- while line_to_read:
- line_to_read = read_obj.readline()
- line = line_to_read
- self._Preamble__token_info = line[:16]
- action = self._Preamble__state_dict.get(self._Preamble__state)
- if action == None:
- sys.stderr.write('no no matching state in module preamble_rest.py\n')
- sys.stderr.write(self._Preamble__state + '\n')
-
- action(line)
- read_obj.close()
- self._Preamble__write_obj.close()
- copy_obj = copy.Copy(bug_handler = self._Preamble__bug_handler)
- if self._Preamble__copy:
- copy_obj.copy_file(self._Preamble__write_to, 'preamble_div.data')
-
- copy_obj.rename(self._Preamble__write_to, self._Preamble__file)
- os.remove(self._Preamble__write_to)
-
-
-