From 353f92d4ad839205703c94e1319b459a8ac74f63 Mon Sep 17 00:00:00 2001 From: Aiwota Programmer Date: Sat, 11 Apr 2009 00:11:27 +0900 Subject: [PATCH] in response of submit, same encoding as dat files is supposed. --- src/FukuiNoNamari/submit_window.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/FukuiNoNamari/submit_window.py b/src/FukuiNoNamari/submit_window.py index 5eb97be..a45ede7 100644 --- a/src/FukuiNoNamari/submit_window.py +++ b/src/FukuiNoNamari/submit_window.py @@ -161,6 +161,10 @@ class WinWrap: def on_response(self, response): data = response.read() info = response.info() + + # suppose same encoding used in dat files. + encoding = self.bbs_type.encoding + # if there is charset in response headers, use it. if "Content-Type" in info: import re match = re.search( @@ -168,14 +172,12 @@ class WinWrap: if match: charset = match.group("charset").lower() - if charset in ("x-sjis", "x_sjis", "sjis", "shiftjis", "shift-jis", - "shift_jis", "s-jis", "s_jis"): - encoding = "cp932" - elif charset in ("euc-jp", "euc_jp", "eucjp"): - encoding = "euc-jp" - - if encoding: - data = data.decode(encoding, "replace") + if charset in ("x-sjis", "x_sjis", "sjis", "shiftjis", + "shift-jis", "shift_jis", "s-jis", "s_jis"): + encoding = "cp932" + elif charset in ("euc-jp", "euc_jp", "eucjp"): + encoding = "euc-jp" + data = data.decode(encoding, "replace") p = ConfirmationHTMLParser() p.feed(data) p.close() -- 2.11.0