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 field_strings, copy
-
- class FieldsLarge:
-
- def __init__(self, in_file, bug_handler, copy = None, run_level = 1):
- self._FieldsLarge__file = in_file
- self._FieldsLarge__bug_handler = bug_handler
- self._FieldsLarge__copy = copy
- self._FieldsLarge__run_level = run_level
- self._FieldsLarge__write_to = tempfile.mktemp()
-
-
- def __initiate_values(self):
- self._FieldsLarge__text_string = ''
- self._FieldsLarge__field_instruction_string = ''
- self._FieldsLarge__marker = 'mi<mk<inline-fld\n'
- self._FieldsLarge__state = 'before_body'
- self._FieldsLarge__string_obj = field_strings.FieldStrings(run_level = self._FieldsLarge__run_level, bug_handler = self._FieldsLarge__bug_handler)
- self._FieldsLarge__state_dict = {
- 'before_body': self._FieldsLarge__before_body_func,
- 'in_body': self._FieldsLarge__in_body_func,
- 'field': self._FieldsLarge__in_field_func,
- 'field_instruction': self._FieldsLarge__field_instruction_func }
- self._FieldsLarge__in_body_dict = {
- 'cw<fd<field_____': self._FieldsLarge__found_field_func }
- self._FieldsLarge__field_dict = {
- 'cw<fd<field-inst': self._FieldsLarge__found_field_instruction_func,
- 'cw<fd<field_____': self._FieldsLarge__found_field_func,
- 'cw<pf<par-end___': self._FieldsLarge__par_in_field_func,
- 'cw<sc<section___': self._FieldsLarge__sec_in_field_func }
- self._FieldsLarge__field_count = []
- self._FieldsLarge__field_instruction = []
- self._FieldsLarge__symbol = 0
- self._FieldsLarge__field_instruction_string = ''
- self._FieldsLarge__par_in_field = []
- self._FieldsLarge__sec_in_field = []
- self._FieldsLarge__field_string = []
-
-
- def __before_body_func(self, line):
- if self._FieldsLarge__token_info == 'mi<mk<body-open_':
- self._FieldsLarge__state = 'in_body'
-
- self._FieldsLarge__write_obj.write(line)
-
-
- def __in_body_func(self, line):
- action = self._FieldsLarge__in_body_dict.get(self._FieldsLarge__token_info)
- if action:
- action(line)
-
- self._FieldsLarge__write_obj.write(line)
-
-
- def __found_field_func(self, line):
- self._FieldsLarge__state = 'field'
- self._FieldsLarge__cb_count = 0
- ob_count = self._FieldsLarge__ob_count
- self._FieldsLarge__field_string.append('')
- self._FieldsLarge__field_count.append(ob_count)
- self._FieldsLarge__sec_in_field.append(0)
- self._FieldsLarge__par_in_field.append(0)
-
-
- def __in_field_func(self, line):
- if self._FieldsLarge__cb_count == self._FieldsLarge__field_count[-1]:
- self._FieldsLarge__field_string[-1] += line
- self._FieldsLarge__end_field_func()
- else:
- action = self._FieldsLarge__field_dict.get(self._FieldsLarge__token_info)
- if action:
- action(line)
- else:
- self._FieldsLarge__field_string[-1] += line
-
-
- def __par_in_field_func(self, line):
- self._FieldsLarge__field_string[-1] += line
- self._FieldsLarge__par_in_field[-1] = 1
-
-
- def __sec_in_field_func(self, line):
- self._FieldsLarge__field_string[-1] += line
- self._FieldsLarge__sec_in_field[-1] = 1
-
-
- def __found_field_instruction_func(self, line):
- self._FieldsLarge__state = 'field_instruction'
- self._FieldsLarge__field_instruction_count = self._FieldsLarge__ob_count
- self._FieldsLarge__cb_count = 0
-
-
- def __field_instruction_func(self, line):
- pass
-
-
- def __end_field_func(self):
- last_bracket = self._FieldsLarge__field_count.pop()
- instruction = self._FieldsLarge__field_instruction.pop()
- inner_field_string = self._FieldsLarge__field_string.pop()
- sec_in_field = self._FieldsLarge__sec_in_field.pop()
- par_in_field = self._FieldsLarge__par_in_field.pop()
- if self._FieldsLarge__symbol:
- inner_field_string = '%scb<nu<clos-brack<%s\n' % (instruction, last_bracket)
- elif sec_in_field or par_in_field:
- inner_field_string = 'mi<mk<fldbkstart\nmi<tg<open-att__<field-block<type>%s\n%smi<mk<fldbk-end_\nmi<tg<close_____<field-block\nmi<mk<fld-bk-end\n' % (instruction, inner_field_string)
- else:
- inner_field_string = '%smi<tg<open-att__<field<type>%s\n%smi<tg<close_____<field\n' % (self._FieldsLarge__marker, instruction, inner_field_string)
- if sec_in_field:
- inner_field_string = 'mi<mk<sec-fd-beg\n' + inner_field_string + 'mi<mk<sec-fd-end\n'
-
- if par_in_field:
- inner_field_string = 'mi<mk<par-in-fld\n' + inner_field_string
-
- if len(self._FieldsLarge__field_string) == 0:
- self._FieldsLarge__write_field_string(inner_field_string)
- else:
- self._FieldsLarge__field_string[-1] += inner_field_string
- self._FieldsLarge__symbol = 0
-
-
- def __write_field_string(self, the_string):
- self._FieldsLarge__state = 'in_body'
- self._FieldsLarge__write_obj.write(the_string)
-
-
- def fix_fields(self):
- self._FieldsLarge__initiate_values()
- read_obj = open(self._FieldsLarge__file, 'r')
- self._FieldsLarge__write_obj = open(self._FieldsLarge__write_to, 'w')
- line_to_read = 1
- while line_to_read:
- line_to_read = read_obj.readline()
- line = line_to_read
- self._FieldsLarge__token_info = line[:16]
- if self._FieldsLarge__token_info == 'ob<nu<open-brack':
- self._FieldsLarge__ob_count = line[-5:-1]
-
- if self._FieldsLarge__token_info == 'cb<nu<clos-brack':
- self._FieldsLarge__cb_count = line[-5:-1]
-
- action = self._FieldsLarge__state_dict.get(self._FieldsLarge__state)
- if action == None:
- sys.stderr.write('no no matching state in module styles.py\n')
- sys.stderr.write(self._FieldsLarge__state + '\n')
-
- action(line)
- read_obj.close()
- self._FieldsLarge__write_obj.close()
- copy_obj = copy.Copy(bug_handler = self._FieldsLarge__bug_handler)
- if self._FieldsLarge__copy:
- copy_obj.copy_file(self._FieldsLarge__write_to, 'fields_large.data')
-
- copy_obj.rename(self._FieldsLarge__write_to, self._FieldsLarge__file)
- os.remove(self._FieldsLarge__write_to)
-
-
-