Ejemplo n.º 1
0
 def _decode_data(self, data):
     """
     Converts finam's charset to utf8
     """
     logger.info('Decoding response')
     try:
         return smart_decode(data)
     except UnicodeDecodeError as e:
         raise FinamExportError('Unable to decode content: {}'.format(
             e.message))
Ejemplo n.º 2
0
def fetch_url(url, lines=False):
    """
    Fetches url from finam.ru
    """
    logger.info('Fetching {}'.format(url))
    request = build_trusted_request(url)
    try:
        fh = urlopen(request)
        if lines:
            response = fh.readlines()
        else:
            response = fh.read()
    except IOError as e:
        raise FinamDownloadError('Unable to load {}: {}'.format(url, e))
    try:
        return smart_decode(response)
    except UnicodeDecodeError as e:
        raise FinamDownloadError('Unable to decode: {}'.format(e.message))