move guess_encoding into weboob.tools.misc
This commit is contained in:
parent
bca7a35d4a
commit
a33d26558b
2 changed files with 14 additions and 12 deletions
|
|
@ -24,7 +24,6 @@ import logging
|
||||||
import optparse
|
import optparse
|
||||||
from optparse import OptionGroup, OptionParser
|
from optparse import OptionGroup, OptionParser
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import locale
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import warnings
|
import warnings
|
||||||
|
|
@ -35,7 +34,7 @@ from weboob.core.backendscfg import BackendsConfig
|
||||||
from weboob.tools.config.iconfig import ConfigError
|
from weboob.tools.config.iconfig import ConfigError
|
||||||
from weboob.exceptions import FormFieldConversionWarning
|
from weboob.exceptions import FormFieldConversionWarning
|
||||||
from weboob.tools.log import createColoredFormatter, getLogger, DEBUG_FILTERS, settings as log_settings
|
from weboob.tools.log import createColoredFormatter, getLogger, DEBUG_FILTERS, settings as log_settings
|
||||||
from weboob.tools.misc import to_unicode
|
from weboob.tools.misc import to_unicode, guess_encoding
|
||||||
from .results import ResultsConditionError
|
from .results import ResultsConditionError
|
||||||
|
|
||||||
__all__ = ['Application']
|
__all__ = ['Application']
|
||||||
|
|
@ -175,16 +174,7 @@ class Application(object):
|
||||||
self._is_default_count = True
|
self._is_default_count = True
|
||||||
|
|
||||||
def guess_encoding(self, stdio=None):
|
def guess_encoding(self, stdio=None):
|
||||||
if stdio is None:
|
return guess_encoding(stdio or self.stdout)
|
||||||
stdio = self.stdout
|
|
||||||
try:
|
|
||||||
encoding = stdio.encoding or locale.getpreferredencoding()
|
|
||||||
except AttributeError:
|
|
||||||
encoding = None
|
|
||||||
# ASCII or ANSII is most likely a user mistake
|
|
||||||
if not encoding or encoding.lower() == 'ascii' or encoding.lower().startswith('ansi'):
|
|
||||||
encoding = 'UTF-8'
|
|
||||||
return encoding
|
|
||||||
|
|
||||||
def deinit(self):
|
def deinit(self):
|
||||||
self.weboob.want_stop()
|
self.weboob.want_stop()
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
|
|
||||||
from time import time, sleep
|
from time import time, sleep
|
||||||
|
import locale
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import traceback
|
import traceback
|
||||||
|
|
@ -92,6 +93,17 @@ def to_unicode(text):
|
||||||
return unicode(text, 'windows-1252', 'replace')
|
return unicode(text, 'windows-1252', 'replace')
|
||||||
|
|
||||||
|
|
||||||
|
def guess_encoding(stdio):
|
||||||
|
try:
|
||||||
|
encoding = stdio.encoding or locale.getpreferredencoding()
|
||||||
|
except AttributeError:
|
||||||
|
encoding = None
|
||||||
|
# ASCII or ANSII is most likely a user mistake
|
||||||
|
if not encoding or encoding.lower() == 'ascii' or encoding.lower().startswith('ansi'):
|
||||||
|
encoding = 'UTF-8'
|
||||||
|
return encoding
|
||||||
|
|
||||||
|
|
||||||
def limit(iterator, lim):
|
def limit(iterator, lim):
|
||||||
count = 0
|
count = 0
|
||||||
iterator = iter(iterator)
|
iterator = iter(iterator)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue