1######################## BEGIN LICENSE BLOCK ######################## 2# The Original Code is mozilla.org 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) 1998 7# the Initial Developer. All Rights Reserved. 8# 9# Contributor(s): 10# Mark Pilgrim - port to Python 11# 12# This library is free software; you can redistribute it and/or 13# modify it under the terms of the GNU Lesser General Public 14# License as published by the Free Software Foundation; either 15# version 2.1 of the License, or (at your option) any later version. 16# 17# This library is distributed in the hope that it will be useful, 18# but WITHOUT ANY WARRANTY; without even the implied warranty of 19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20# Lesser General Public License for more details. 21# 22# You should have received a copy of the GNU Lesser General Public 23# License along with this library; if not, write to the Free Software 24# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 25# 02110-1301 USA 26######################### END LICENSE BLOCK ######################### 27 28from .mbcharsetprober import MultiByteCharSetProber 29from .codingstatemachine import CodingStateMachine 30from .chardistribution import GB2312DistributionAnalysis 31from .mbcssm import GB2312_SM_MODEL 32 33class GB2312Prober(MultiByteCharSetProber): 34 def __init__(self): 35 super(GB2312Prober, self).__init__() 36 self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) 37 self.distribution_analyzer = GB2312DistributionAnalysis() 38 self.reset() 39 40 @property 41 def charset_name(self): 42 return "GB2312" 43 44 @property 45 def language(self): 46 return "Chinese" 47