home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import sys
- import os
- import tempfile
- from calibre.ebooks.rtf2xml import copy
-
- class Paragraphs:
-
- def __init__(self, in_file, bug_handler, copy = None, write_empty_para = 1, run_level = 1):
- self._Paragraphs__file = in_file
- self._Paragraphs__bug_handler = bug_handler
- self._Paragraphs__copy = copy
- self._Paragraphs__write_empty_para = write_empty_para
- self._Paragraphs__run_level = run_level
- self._Paragraphs__write_to = tempfile.mktemp()
-
-
- def __initiate_values(self):
- self._Paragraphs__state = 'before_body'
- self._Paragraphs__start_marker = 'mi<mk<para-start\n'
- self._Paragraphs__start2_marker = 'mi<mk<par-start_\n'
- self._Paragraphs__end2_marker = 'mi<mk<par-end___\n'
- self._Paragraphs__end_marker = 'mi<mk<para-end__\n'
- self._Paragraphs__state_dict = {
- 'before_body': self._Paragraphs__before_body_func,
- 'not_paragraph': self._Paragraphs__not_paragraph_func,
- 'paragraph': self._Paragraphs__paragraph_func }
- self._Paragraphs__paragraph_dict = {
- 'cw<pf<par-end___': self._Paragraphs__close_para_func,
- 'mi<mk<headi_-end': self._Paragraphs__close_para_func,
- 'mi<mk<fldbk-end_': self._Paragraphs__close_para_func,
- 'mi<mk<body-close': self._Paragraphs__close_para_func,
- 'mi<mk<sect-close': self._Paragraphs__close_para_func,
- 'mi<mk<sect-start': self._Paragraphs__close_para_func,
- 'mi<mk<foot___clo': self._Paragraphs__close_para_func,
- 'cw<tb<cell______': self._Paragraphs__close_para_func,
- 'mi<mk<par-in-fld': self._Paragraphs__close_para_func,
- 'cw<pf<par-def___': self._Paragraphs__bogus_para__def_func }
- self._Paragraphs__not_paragraph_dict = {
- 'tx<nu<__________': self._Paragraphs__start_para_func,
- 'tx<hx<__________': self._Paragraphs__start_para_func,
- 'tx<ut<__________': self._Paragraphs__start_para_func,
- 'tx<mc<__________': self._Paragraphs__start_para_func,
- 'mi<mk<inline-fld': self._Paragraphs__start_para_func,
- 'mi<mk<para-beg__': self._Paragraphs__start_para_func,
- 'cw<pf<par-end___': self._Paragraphs__empty_para_func,
- 'mi<mk<pict-start': self._Paragraphs__start_para_func,
- 'cw<pf<page-break': self._Paragraphs__empty_pgbk_func }
-
-
- def __before_body_func(self, line):
- if self._Paragraphs__token_info == 'mi<mk<body-open_':
- self._Paragraphs__state = 'not_paragraph'
-
- self._Paragraphs__write_obj.write(line)
-
-
- def __not_paragraph_func(self, line):
- action = self._Paragraphs__not_paragraph_dict.get(self._Paragraphs__token_info)
- if action:
- action(line)
-
- self._Paragraphs__write_obj.write(line)
-
-
- def __paragraph_func(self, line):
- action = self._Paragraphs__paragraph_dict.get(self._Paragraphs__token_info)
- if action:
- action(line)
- else:
- self._Paragraphs__write_obj.write(line)
-
-
- def __start_para_func(self, line):
- self._Paragraphs__write_obj.write(self._Paragraphs__start_marker)
- self._Paragraphs__write_obj.write('mi<tg<open______<para\n')
- self._Paragraphs__write_obj.write(self._Paragraphs__start2_marker)
- self._Paragraphs__state = 'paragraph'
-
-
- def __empty_para_func(self, line):
- if self._Paragraphs__write_empty_para:
- self._Paragraphs__write_obj.write(self._Paragraphs__start_marker)
- self._Paragraphs__write_obj.write('mi<tg<empty_____<para\n')
- self._Paragraphs__write_obj.write(self._Paragraphs__end_marker)
-
-
-
- def __empty_pgbk_func(self, line):
- self._Paragraphs__write_obj.write('mi<tg<empty_____<page-break\n')
-
-
- def __close_para_func(self, line):
- self._Paragraphs__write_obj.write(self._Paragraphs__end2_marker)
- self._Paragraphs__write_obj.write('mi<tg<close_____<para\n')
- self._Paragraphs__write_obj.write(self._Paragraphs__end_marker)
- self._Paragraphs__write_obj.write(line)
- self._Paragraphs__state = 'not_paragraph'
-
-
- def __bogus_para__def_func(self, line):
- self._Paragraphs__write_obj.write('mi<mk<bogus-pard\n')
-
-
- def make_paragraphs(self):
- self._Paragraphs__initiate_values()
- read_obj = open(self._Paragraphs__file, 'r')
- self._Paragraphs__write_obj = open(self._Paragraphs__write_to, 'w')
- line_to_read = 1
- while line_to_read:
- line_to_read = read_obj.readline()
- line = line_to_read
- self._Paragraphs__token_info = line[:16]
- action = self._Paragraphs__state_dict.get(self._Paragraphs__state)
- if action == None:
- sys.stderr.write('no no matching state in module sections.py\n')
- sys.stderr.write(self._Paragraphs__state + '\n')
-
- action(line)
- read_obj.close()
- self._Paragraphs__write_obj.close()
- copy_obj = copy.Copy(bug_handler = self._Paragraphs__bug_handler)
- if self._Paragraphs__copy:
- copy_obj.copy_file(self._Paragraphs__write_to, 'paragraphs.data')
-
- copy_obj.rename(self._Paragraphs__write_to, self._Paragraphs__file)
- os.remove(self._Paragraphs__write_to)
-
-
-