| 181 | return -1, 1 |
| 182 | |
| 183 | class SJISContextAnalysis(JapaneseContextAnalysis): |
| 184 | def __init__(self): |
| 185 | super(SJISContextAnalysis, self).__init__() |
| 186 | self._charset_name = "SHIFT_JIS" |
| 187 | |
| 188 | @property |
| 189 | def charset_name(self): |
| 190 | return self._charset_name |
| 191 | |
| 192 | def get_order(self, byte_str): |
| 193 | if not byte_str: |
| 194 | return -1, 1 |
| 195 | # find out current char's byte length |
| 196 | first_char = byte_str[0] |
| 197 | if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): |
| 198 | char_len = 2 |
| 199 | if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): |
| 200 | self._charset_name = "CP932" |
| 201 | else: |
| 202 | char_len = 1 |
| 203 | |
| 204 | # return its order if it is hiragana |
| 205 | if len(byte_str) > 1: |
| 206 | second_char = byte_str[1] |
| 207 | if (first_char == 202) and (0x9F <= second_char <= 0xF1): |
| 208 | return second_char - 0x9F, char_len |
| 209 | |
| 210 | return -1, char_len |
| 211 | |
| 212 | class EUCJPContextAnalysis(JapaneseContextAnalysis): |
| 213 | def get_order(self, byte_str): |
no outgoing calls
no test coverage detected
searching dependent graphs…