home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1104 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  6.2 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. import re
  8. from calibre.ebooks.rtf2xml import copy
  9.  
  10. class GroupStyles:
  11.     
  12.     def __init__(self, in_file, bug_handler, copy = None, run_level = 1, wrap = 0):
  13.         self._GroupStyles__file = in_file
  14.         self._GroupStyles__bug_handler = bug_handler
  15.         self._GroupStyles__copy = copy
  16.         self._GroupStyles__run_level = run_level
  17.         self._GroupStyles__write_to = tempfile.mktemp()
  18.         self._GroupStyles__wrap = wrap
  19.  
  20.     
  21.     def __initiate_values(self):
  22.         self._GroupStyles__state = 'default'
  23.         self._GroupStyles__left_indent = 0
  24.         self._GroupStyles__list_type = 'not-defined'
  25.         self._GroupStyles__pard_def = ''
  26.         self._GroupStyles__all_lists = []
  27.         self._GroupStyles__list_chunk = ''
  28.         self._GroupStyles__state_dict = {
  29.             'default': self._GroupStyles__default_func,
  30.             'in_pard': self._GroupStyles__in_pard_func,
  31.             'after_pard': self._GroupStyles__after_pard_func }
  32.         self._GroupStyles__end_list = [
  33.             'mi<mk<sect-close',
  34.             'mi<mk<sect-start',
  35.             'mi<mk<tabl-start',
  36.             'mi<mk<fldbk-end_',
  37.             'mi<mk<fldbkstart',
  38.             'mi<mk<close_cell',
  39.             'mi<tg<item_end__',
  40.             'mi<mk<foot___clo',
  41.             'mi<mk<footnt-ope',
  42.             'mi<mk<header-beg',
  43.             'mi<mk<header-end',
  44.             'mi<mk<head___clo',
  45.             'mi<tg<item_end__',
  46.             'mi<tg<item_end__',
  47.             'mi<mk<list_start']
  48.         self._GroupStyles__name_regex = re.compile('<name>')
  49.         self._GroupStyles__found_appt = 0
  50.         self._GroupStyles__line_num = 0
  51.  
  52.     
  53.     def __in_pard_func(self, line):
  54.         if self._GroupStyles__token_info == 'mi<tg<close_____' and line[17:-1] == 'paragraph-definition':
  55.             self._GroupStyles__state = 'after_pard'
  56.         else:
  57.             self._GroupStyles__write_obj.write(line)
  58.  
  59.     
  60.     def __after_pard_func(self, line):
  61.         if self._GroupStyles__token_info == 'mi<tg<open-att__' and line[17:37] == 'paragraph-definition':
  62.             self._GroupStyles__pard_after_par_def_func(line)
  63.         elif self._GroupStyles__token_info == 'mi<tg<close_____' and line[17:-1] == 'paragraph-definition':
  64.             sys.stderr.write('Wrong flag in __after_pard_func\n')
  65.             if self._GroupStyles__run_level > 2:
  66.                 msg = 'wrong flag'
  67.                 raise self._GroupStyles__bug_handler, msg
  68.             self._GroupStyles__run_level > 2
  69.         elif self._GroupStyles__token_info in self._GroupStyles__end_list:
  70.             self._GroupStyles__write_obj.write('mi<tg<close_____<paragraph-definition\n')
  71.             self._GroupStyles__write_end_wrap()
  72.             self._GroupStyles__write_obj.write(self._GroupStyles__list_chunk)
  73.             self._GroupStyles__list_chunk = ''
  74.             self._GroupStyles__state = 'default'
  75.             self._GroupStyles__write_obj.write(line)
  76.         else:
  77.             self._GroupStyles__list_chunk += line
  78.  
  79.     
  80.     def __close_pard_(self, line):
  81.         self._GroupStyles__write_obj.write(self._GroupStyles__list_chunk)
  82.         self._GroupStyles__write_obj.write('mi<tg<close_____<paragraph-definition\n')
  83.         self._GroupStyles__write_end_wrap()
  84.         self._GroupStyles__list_chunk = ''
  85.         self._GroupStyles__state = 'default'
  86.  
  87.     
  88.     def __write_start_wrap(self, name):
  89.         if self._GroupStyles__wrap:
  90.             self._GroupStyles__write_obj.write('mi<mk<style-grp_<%s\n' % name)
  91.             self._GroupStyles__write_obj.write('mi<tg<open-att__<style-group<name>%s\n' % name)
  92.             self._GroupStyles__write_obj.write('mi<mk<style_grp_<%s\n' % name)
  93.         
  94.  
  95.     
  96.     def __write_end_wrap(self):
  97.         if self._GroupStyles__wrap:
  98.             self._GroupStyles__write_obj.write('mi<mk<style_gend\n')
  99.             self._GroupStyles__write_obj.write('mi<tg<close_____<style-group\n')
  100.             self._GroupStyles__write_obj.write('mi<mk<stylegend_\n')
  101.         
  102.  
  103.     
  104.     def __pard_after_par_def_func(self, line):
  105.         if self._GroupStyles__last_style_name == self._GroupStyles__style_name:
  106.             if self._GroupStyles__wrap:
  107.                 self._GroupStyles__write_obj.write('mi<tg<close_____<paragraph-definition\n')
  108.             
  109.             self._GroupStyles__write_obj.write(self._GroupStyles__list_chunk)
  110.             self._GroupStyles__list_chunk = ''
  111.             self._GroupStyles__state = 'in_pard'
  112.             if self._GroupStyles__wrap:
  113.                 self._GroupStyles__write_obj.write(line)
  114.             
  115.         else:
  116.             self._GroupStyles__write_obj.write('mi<tg<close_____<paragraph-definition\n')
  117.             self._GroupStyles__write_end_wrap()
  118.             self._GroupStyles__write_obj.write(self._GroupStyles__list_chunk)
  119.             self._GroupStyles__write_start_wrap(self._GroupStyles__style_name)
  120.             self._GroupStyles__write_obj.write(line)
  121.             self._GroupStyles__state = 'in_pard'
  122.             self._GroupStyles__last_style_name = self._GroupStyles__style_name
  123.             self._GroupStyles__list_chunk = ''
  124.  
  125.     
  126.     def __default_func(self, line):
  127.         if self._GroupStyles__token_info == 'mi<tg<open-att__' and line[17:37] == 'paragraph-definition':
  128.             self._GroupStyles__state = 'in_pard'
  129.             self._GroupStyles__last_style_name = self._GroupStyles__style_name
  130.             self._GroupStyles__write_start_wrap(self._GroupStyles__last_style_name)
  131.             self._GroupStyles__write_obj.write(line)
  132.         else:
  133.             self._GroupStyles__write_obj.write(line)
  134.  
  135.     
  136.     def __get_style_name(self, line):
  137.         if self._GroupStyles__token_info == 'mi<mk<style-name':
  138.             self._GroupStyles__style_name = line[17:-1]
  139.         
  140.  
  141.     
  142.     def group_styles(self):
  143.         self._GroupStyles__initiate_values()
  144.         read_obj = open(self._GroupStyles__file, 'r')
  145.         self._GroupStyles__write_obj = open(self._GroupStyles__write_to, 'w')
  146.         line_to_read = 1
  147.         while line_to_read:
  148.             line_to_read = read_obj.readline()
  149.             line = line_to_read
  150.             self._GroupStyles__token_info = line[:16]
  151.             self._GroupStyles__get_style_name(line)
  152.             action = self._GroupStyles__state_dict.get(self._GroupStyles__state)
  153.             action(line)
  154.         read_obj.close()
  155.         self._GroupStyles__write_obj.close()
  156.         copy_obj = copy.Copy(bug_handler = self._GroupStyles__bug_handler)
  157.         if self._GroupStyles__copy:
  158.             copy_obj.copy_file(self._GroupStyles__write_to, 'group_styles.data')
  159.         
  160.         copy_obj.rename(self._GroupStyles__write_to, self._GroupStyles__file)
  161.         os.remove(self._GroupStyles__write_to)
  162.  
  163.  
  164.