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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from constants import eStart
  5.  
  6. class CodingStateMachine:
  7.     
  8.     def __init__(self, sm):
  9.         self._mModel = sm
  10.         self._mCurrentBytePos = 0
  11.         self._mCurrentCharLen = 0
  12.         self.reset()
  13.  
  14.     
  15.     def reset(self):
  16.         self._mCurrentState = eStart
  17.  
  18.     
  19.     def next_state(self, c):
  20.         byteCls = self._mModel['classTable'][ord(c)]
  21.         if self._mCurrentState == eStart:
  22.             self._mCurrentBytePos = 0
  23.             self._mCurrentCharLen = self._mModel['charLenTable'][byteCls]
  24.         
  25.         self._mCurrentState = self._mModel['stateTable'][self._mCurrentState * self._mModel['classFactor'] + byteCls]
  26.         self._mCurrentBytePos += 1
  27.         return self._mCurrentState
  28.  
  29.     
  30.     def get_current_charlen(self):
  31.         return self._mCurrentCharLen
  32.  
  33.     
  34.     def get_coding_state_machine(self):
  35.         return self._mModel['name']
  36.  
  37.  
  38.