1######################## BEGIN LICENSE BLOCK ######################## 2# The Original Code is Mozilla Universal charset detector code. 3# 4# The Initial Developer of the Original Code is 5# Netscape Communications Corporation. 6# Portions created by the Initial Developer are Copyright (C) 2001 7# the Initial Developer. All Rights Reserved. 8# 9# Contributor(s): 10# Mark Pilgrim - port to Python 11# Shy Shalom - original C code 12# 13# This library is free software; you can redistribute it and/or 14# modify it under the terms of the GNU Lesser General Public 15# License as published by the Free Software Foundation; either 16# version 2.1 of the License, or (at your option) any later version. 17# 18# This library is distributed in the hope that it will be useful, 19# but WITHOUT ANY WARRANTY; without even the implied warranty of 20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21# Lesser General Public License for more details. 22# 23# You should have received a copy of the GNU Lesser General Public 24# License along with this library; if not, write to the Free Software 25# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 26# 02110-1301 USA 27######################### END LICENSE BLOCK ######################### 28 29from .charsetgroupprober import CharSetGroupProber 30from .sbcharsetprober import SingleByteCharSetProber 31from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, 32 Latin5CyrillicModel, MacCyrillicModel, 33 Ibm866Model, Ibm855Model) 34from .langgreekmodel import Latin7GreekModel, Win1253GreekModel 35from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel 36from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel 37from .langthaimodel import TIS620ThaiModel 38from .langhebrewmodel import Win1255HebrewModel 39from .hebrewprober import HebrewProber 40 41 42class SBCSGroupProber(CharSetGroupProber): 43 def __init__(self): 44 CharSetGroupProber.__init__(self) 45 self._mProbers = [ 46 SingleByteCharSetProber(Win1251CyrillicModel), 47 SingleByteCharSetProber(Koi8rModel), 48 SingleByteCharSetProber(Latin5CyrillicModel), 49 SingleByteCharSetProber(MacCyrillicModel), 50 SingleByteCharSetProber(Ibm866Model), 51 SingleByteCharSetProber(Ibm855Model), 52 SingleByteCharSetProber(Latin7GreekModel), 53 SingleByteCharSetProber(Win1253GreekModel), 54 SingleByteCharSetProber(Latin5BulgarianModel), 55 SingleByteCharSetProber(Win1251BulgarianModel), 56 SingleByteCharSetProber(Latin2HungarianModel), 57 SingleByteCharSetProber(Win1250HungarianModel), 58 SingleByteCharSetProber(TIS620ThaiModel), 59 ] 60 hebrewProber = HebrewProber() 61 logicalHebrewProber = SingleByteCharSetProber(Win1255HebrewModel, 62 False, hebrewProber) 63 visualHebrewProber = SingleByteCharSetProber(Win1255HebrewModel, True, 64 hebrewProber) 65 hebrewProber.set_model_probers(logicalHebrewProber, visualHebrewProber) 66 self._mProbers.extend([hebrewProber, logicalHebrewProber, 67 visualHebrewProber]) 68 69 self.reset() 70