passiomatic / coldsweat

Web RSS aggregator and reader compatible with the Fever API
MIT License
145 stars 21 forks source link

Problem with entries in the opml containing non-ascii characters #73

Closed Pablo2m closed 10 years ago

Pablo2m commented 10 years ago

I have items with titles that use characters that are common in Spanish as ñ ó í and others.

This is a traceback:

C:\Users\Pablo2M\Desktop\Rss\coldsweat-0.9.4-wip>sweat.py import feedly.opml Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 Traceback (most recent call last): File "C:\Python27\lib\logginginit.py", line 851, in emit msg = self.format(record) File "C:\Python27\lib\logginginit.py", line 724, in format return fmt.format(record) File "C:\Python27\lib\logginginit.py", line 467, in format s = self._fmt % record.dict UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 44: ordinal not in range(128) Logged from file fetcher.py, line 278 320 feeds imported and fetched for user coldsweat. See log file for more informa tion.

passiomatic commented 10 years ago

Line 278 in fetcher.py (branch 0.9.4) is this one: https://github.com/passiomatic/coldsweat/blob/0.9.4-wip/coldsweat/fetcher.py#L278

 logger.info("%s has changed its location, updated to %s" % (netloc, self_link))

Can you please give me e reduced testcase for this? Like a minimal OPML which exibits the issue? It looks like either feed netloc or self_link contains extra-ASCII characters.

passiomatic commented 10 years ago

I've committed a "blind" fix by guessing what could go wrong with your feeds. Could you try to test this out?

Pablo2m commented 10 years ago

Sorry for the delay, seems to be going well now

passiomatic commented 10 years ago

Sorry for the delay, seems to be going well now

Great, thank you for testing this. It looks like we'll have the 0.9.4 release this week-end.