home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import os
- import tempfile
- from calibre.ebooks.rtf2xml import copy
-
- class CombineBorders:
-
- def __init__(self, in_file, bug_handler, copy = None, run_level = 1):
- self._CombineBorders__file = in_file
- self._CombineBorders__bug_handler = bug_handler
- self._CombineBorders__copy = copy
- self._CombineBorders__write_to = tempfile.mktemp()
- self._CombineBorders__state = 'default'
- self._CombineBorders__bord_pos = 'default'
- self._CombineBorders__bord_att = []
-
-
- def found_bd(self, line):
- self._CombineBorders__state = 'border'
- self._CombineBorders__bord_pos = line[6:16]
-
-
- def __default_func(self, line):
- if self._CombineBorders__first_five == 'cw<bd':
- self.found_bd(line)
- return ''
- return line
-
-
- def end_border(self, line, write_obj):
- joiner = '|'
- border_string = joiner.join(self._CombineBorders__bord_att)
- self._CombineBorders__bord_att = []
- write_obj.write('cw<bd<%s<nu<%s\n' % (self._CombineBorders__bord_pos, border_string))
- self._CombineBorders__state = 'default'
- self._CombineBorders__bord_string = ''
- if self._CombineBorders__first_five == 'cw<bd':
- self.found_bd(line)
- else:
- write_obj.write(line)
-
-
- def add_to_border_desc(self, line):
- border_desc = line[6:16]
- num = line[20:-1]
- if num == 'true':
- num = ''
- else:
- num = ':' + num
- self._CombineBorders__bord_att.append(border_desc + num)
-
-
- def __border_func(self, line, write_obj):
- if self._CombineBorders__first_five != 'cw<bt':
- self.end_border(line, write_obj)
- else:
- self.add_to_border_desc(line)
-
-
- def combine_borders(self):
- read_obj = open(self._CombineBorders__file, 'r')
- write_obj = open(self._CombineBorders__write_to, 'w')
- line_to_read = 'dummy'
- while line_to_read:
- line_to_read = read_obj.readline()
- line = line_to_read
- self._CombineBorders__first_five = line[0:5]
- if self._CombineBorders__state == 'border':
- self._CombineBorders__border_func(line, write_obj)
- continue
- to_print = self._CombineBorders__default_func(line)
- write_obj.write(to_print)
- read_obj.close()
- write_obj.close()
- copy_obj = copy.Copy(bug_handler = self._CombineBorders__bug_handler)
- if self._CombineBorders__copy:
- copy_obj.copy_file(self._CombineBorders__write_to, 'combine_borders.data')
-
- copy_obj.rename(self._CombineBorders__write_to, self._CombineBorders__file)
- os.remove(self._CombineBorders__write_to)
-
-
-