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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. import os
  6. import tempfile
  7. from calibre.ebooks.rtf2xml import field_strings, copy
  8.  
  9. class FieldsLarge:
  10.     
  11.     def __init__(self, in_file, bug_handler, copy = None, run_level = 1):
  12.         self._FieldsLarge__file = in_file
  13.         self._FieldsLarge__bug_handler = bug_handler
  14.         self._FieldsLarge__copy = copy
  15.         self._FieldsLarge__run_level = run_level
  16.         self._FieldsLarge__write_to = tempfile.mktemp()
  17.  
  18.     
  19.     def __initiate_values(self):
  20.         self._FieldsLarge__text_string = ''
  21.         self._FieldsLarge__field_instruction_string = ''
  22.         self._FieldsLarge__marker = 'mi<mk<inline-fld\n'
  23.         self._FieldsLarge__state = 'before_body'
  24.         self._FieldsLarge__string_obj = field_strings.FieldStrings(run_level = self._FieldsLarge__run_level, bug_handler = self._FieldsLarge__bug_handler)
  25.         self._FieldsLarge__state_dict = {
  26.             'before_body': self._FieldsLarge__before_body_func,
  27.             'in_body': self._FieldsLarge__in_body_func,
  28.             'field': self._FieldsLarge__in_field_func,
  29.             'field_instruction': self._FieldsLarge__field_instruction_func }
  30.         self._FieldsLarge__in_body_dict = {
  31.             'cw<fd<field_____': self._FieldsLarge__found_field_func }
  32.         self._FieldsLarge__field_dict = {
  33.             'cw<fd<field-inst': self._FieldsLarge__found_field_instruction_func,
  34.             'cw<fd<field_____': self._FieldsLarge__found_field_func,
  35.             'cw<pf<par-end___': self._FieldsLarge__par_in_field_func,
  36.             'cw<sc<section___': self._FieldsLarge__sec_in_field_func }
  37.         self._FieldsLarge__field_count = []
  38.         self._FieldsLarge__field_instruction = []
  39.         self._FieldsLarge__symbol = 0
  40.         self._FieldsLarge__field_instruction_string = ''
  41.         self._FieldsLarge__par_in_field = []
  42.         self._FieldsLarge__sec_in_field = []
  43.         self._FieldsLarge__field_string = []
  44.  
  45.     
  46.     def __before_body_func(self, line):
  47.         if self._FieldsLarge__token_info == 'mi<mk<body-open_':
  48.             self._FieldsLarge__state = 'in_body'
  49.         
  50.         self._FieldsLarge__write_obj.write(line)
  51.  
  52.     
  53.     def __in_body_func(self, line):
  54.         action = self._FieldsLarge__in_body_dict.get(self._FieldsLarge__token_info)
  55.         if action:
  56.             action(line)
  57.         
  58.         self._FieldsLarge__write_obj.write(line)
  59.  
  60.     
  61.     def __found_field_func(self, line):
  62.         self._FieldsLarge__state = 'field'
  63.         self._FieldsLarge__cb_count = 0
  64.         ob_count = self._FieldsLarge__ob_count
  65.         self._FieldsLarge__field_string.append('')
  66.         self._FieldsLarge__field_count.append(ob_count)
  67.         self._FieldsLarge__sec_in_field.append(0)
  68.         self._FieldsLarge__par_in_field.append(0)
  69.  
  70.     
  71.     def __in_field_func(self, line):
  72.         if self._FieldsLarge__cb_count == self._FieldsLarge__field_count[-1]:
  73.             self._FieldsLarge__field_string[-1] += line
  74.             self._FieldsLarge__end_field_func()
  75.         else:
  76.             action = self._FieldsLarge__field_dict.get(self._FieldsLarge__token_info)
  77.             if action:
  78.                 action(line)
  79.             else:
  80.                 self._FieldsLarge__field_string[-1] += line
  81.  
  82.     
  83.     def __par_in_field_func(self, line):
  84.         self._FieldsLarge__field_string[-1] += line
  85.         self._FieldsLarge__par_in_field[-1] = 1
  86.  
  87.     
  88.     def __sec_in_field_func(self, line):
  89.         self._FieldsLarge__field_string[-1] += line
  90.         self._FieldsLarge__sec_in_field[-1] = 1
  91.  
  92.     
  93.     def __found_field_instruction_func(self, line):
  94.         self._FieldsLarge__state = 'field_instruction'
  95.         self._FieldsLarge__field_instruction_count = self._FieldsLarge__ob_count
  96.         self._FieldsLarge__cb_count = 0
  97.  
  98.     
  99.     def __field_instruction_func(self, line):
  100.         pass
  101.  
  102.     
  103.     def __end_field_func(self):
  104.         last_bracket = self._FieldsLarge__field_count.pop()
  105.         instruction = self._FieldsLarge__field_instruction.pop()
  106.         inner_field_string = self._FieldsLarge__field_string.pop()
  107.         sec_in_field = self._FieldsLarge__sec_in_field.pop()
  108.         par_in_field = self._FieldsLarge__par_in_field.pop()
  109.         if self._FieldsLarge__symbol:
  110.             inner_field_string = '%scb<nu<clos-brack<%s\n' % (instruction, last_bracket)
  111.         elif sec_in_field or par_in_field:
  112.             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)
  113.         else:
  114.             inner_field_string = '%smi<tg<open-att__<field<type>%s\n%smi<tg<close_____<field\n' % (self._FieldsLarge__marker, instruction, inner_field_string)
  115.         if sec_in_field:
  116.             inner_field_string = 'mi<mk<sec-fd-beg\n' + inner_field_string + 'mi<mk<sec-fd-end\n'
  117.         
  118.         if par_in_field:
  119.             inner_field_string = 'mi<mk<par-in-fld\n' + inner_field_string
  120.         
  121.         if len(self._FieldsLarge__field_string) == 0:
  122.             self._FieldsLarge__write_field_string(inner_field_string)
  123.         else:
  124.             self._FieldsLarge__field_string[-1] += inner_field_string
  125.         self._FieldsLarge__symbol = 0
  126.  
  127.     
  128.     def __write_field_string(self, the_string):
  129.         self._FieldsLarge__state = 'in_body'
  130.         self._FieldsLarge__write_obj.write(the_string)
  131.  
  132.     
  133.     def fix_fields(self):
  134.         self._FieldsLarge__initiate_values()
  135.         read_obj = open(self._FieldsLarge__file, 'r')
  136.         self._FieldsLarge__write_obj = open(self._FieldsLarge__write_to, 'w')
  137.         line_to_read = 1
  138.         while line_to_read:
  139.             line_to_read = read_obj.readline()
  140.             line = line_to_read
  141.             self._FieldsLarge__token_info = line[:16]
  142.             if self._FieldsLarge__token_info == 'ob<nu<open-brack':
  143.                 self._FieldsLarge__ob_count = line[-5:-1]
  144.             
  145.             if self._FieldsLarge__token_info == 'cb<nu<clos-brack':
  146.                 self._FieldsLarge__cb_count = line[-5:-1]
  147.             
  148.             action = self._FieldsLarge__state_dict.get(self._FieldsLarge__state)
  149.             if action == None:
  150.                 sys.stderr.write('no no matching state in module styles.py\n')
  151.                 sys.stderr.write(self._FieldsLarge__state + '\n')
  152.             
  153.             action(line)
  154.         read_obj.close()
  155.         self._FieldsLarge__write_obj.close()
  156.         copy_obj = copy.Copy(bug_handler = self._FieldsLarge__bug_handler)
  157.         if self._FieldsLarge__copy:
  158.             copy_obj.copy_file(self._FieldsLarge__write_to, 'fields_large.data')
  159.         
  160.         copy_obj.rename(self._FieldsLarge__write_to, self._FieldsLarge__file)
  161.         os.remove(self._FieldsLarge__write_to)
  162.  
  163.  
  164.