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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4.  
  5. class CheckBrackets:
  6.     
  7.     def __init__(self, bug_handler = None, file = None):
  8.         self._CheckBrackets__file = file
  9.         self._CheckBrackets__bug_handler = bug_handler
  10.         self._CheckBrackets__bracket_count = 0
  11.         self._CheckBrackets__ob_count = 0
  12.         self._CheckBrackets__cb_count = 0
  13.         self._CheckBrackets__open_bracket_num = []
  14.  
  15.     
  16.     def open_brack(self, line):
  17.         num = line[-5:-1]
  18.         self._CheckBrackets__open_bracket_num.append(num)
  19.         self._CheckBrackets__bracket_count += 1
  20.  
  21.     
  22.     def close_brack(self, line):
  23.         num = line[-5:-1]
  24.         
  25.         try:
  26.             last_num = self._CheckBrackets__open_bracket_num.pop()
  27.         except:
  28.             return 0
  29.  
  30.         if num != last_num:
  31.             return 0
  32.         self._CheckBrackets__bracket_count -= 1
  33.         return 1
  34.  
  35.     
  36.     def check_brackets(self):
  37.         read_obj = open(self._CheckBrackets__file, 'r')
  38.         line = 'dummy'
  39.         line_count = 0
  40.         while line:
  41.             line_count += 1
  42.             line = read_obj.readline()
  43.             self._CheckBrackets__token_info = line[:16]
  44.             if self._CheckBrackets__token_info == 'ob<nu<open-brack':
  45.                 self.open_brack(line)
  46.             
  47.             if self._CheckBrackets__token_info == 'cb<nu<clos-brack':
  48.                 right_count = self.close_brack(line)
  49.                 if not right_count:
  50.                     return (0, "closed bracket doesn't match, line %s" % line_count)
  51.                 continue
  52.             right_count
  53.         read_obj.close()
  54.         if self._CheckBrackets__bracket_count != 0:
  55.             msg = "At end of file open and closed brackets don't match\n"
  56.             msg = msg + 'total number of brackets is %s' % self._CheckBrackets__bracket_count
  57.             return (0, msg)
  58.         return (1, 'brackets match!')
  59.  
  60.  
  61.