code-google-com / mythbox

Automatically exported from code.google.com/p/mythbox
GNU General Public License v2.0
0 stars 1 forks source link

ASCII error when accesing to recordings window #165

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. open Mythbox
2. select "recordings"
3.

What is the expected output? What do you see instead?

No recording printed. Instead, an "Error: onInit" window:
'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)

What version of the product are you using? On what operating system?

Mythbuntu 10.04
Mythtv 0.23.1+fixes26863-0ubuntu0+mythbuntu2
Mythbox rev: ad7605916f31 (28/03/2011 - 17h17)

Please provide any additional information below.

WARNING | mythbox.ui | recordings2.py | MainThread | Line 118 | groups focus
DEBUG | mythbox.perf | util.py | MainThread | Line 334 | TIMER: 
getAllRecordings took 0.02 seconds
DEBUG | mythbox.ui | recordings2.py | Thread-10 | Line 180 | Precaching 7 
thumbnails
DEBUG | mythbox.ui | recordings2.py | MainThread | Line 242 | Rendering....
DEBUG | mythbox.cache | filecache.py | Thread-10 | Line 111 | Cache HIT 19h 
Ruth Elkrief 
ERROR | mythbox.core | util.py | MainThread | Line 401 | (<class 
exceptions.UnicodeDecodeError at 0xa9a687b4>, <exceptions.UnicodeDecodeError 
instance at 0xabb01cb4>, <traceback object at 0xabc3196c>)
DEBUG | mythbox.cache | filecache.py | Thread-10 | Line 111 | Cache HIT Non 
Stop week-end 
ERROR | mythbox.core | util.py | MainThread | Line 402 | CATCHALL_UI: Caught 
<type 'instance'> exception 'ascii' codec can't decode byte 0xc3 in position 
15: ordinal not in range(128) on method onInit
Traceback (most recent call last):
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 399, in catchall_ui
    return func(*args, **kw)
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 105, in onInit
    self.refresh()
  File "<string>", line 1, in <lambda>
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/toolkit.py", line 196, in window_busy
    result = func(*args, **kwargs)
  File "<string>", line 1, in <lambda>
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 123, in inject_conn
    result = func(*args, **kwargs)
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 229, in refresh
    self.render()
  File "<string>", line 1, in <lambda>
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 372, in ui_locked2
    result = func(*args, **kw)
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 244, in render
    self.renderGroups()
  File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 265, in renderGroups
    if self.lastSelectedGroup == title:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 15: 
ordinal not in range(128)

Several recordings contain some "é" or "è", "à" and some other french 
characters.
Issue appeared when file "recordings2.py" were introduced. Before, with just 
"recordings.py", there wasn't any issue with the list of recordings.

Thanks a lot for your help.
Best regards. 

Original issue reported on code.google.com by bmai...@gmail.com on 28 Mar 2011 at 3:31

GoogleCodeExporter commented 9 years ago
Fixed in rev 0c4ac573e3c0. Please verify

Original comment by semir.pa...@gmail.com on 29 Mar 2011 at 2:17

GoogleCodeExporter commented 9 years ago
Hello,

Thanks for your quick answer.
Unfortunately, no, it doesn't change anything.
I fully deleted the recordings and I recorded a new one called "Avocats et 
associés".

If I click on the thumbnail in home window, it plays the video.
If I go to the recording list, same type of error:

11:13:35 T:2852682608 M:1784631296  NOTICE: WARNING | mythbox.ui | 
recordings2.py | MainThread | Line 118 | groups focus
11:13:35 T:2852682608 M:1784631296  NOTICE: .
11:13:35 T:2852682608 M:1783742464  NOTICE: DEBUG | mythbox.perf | util.py | 
MainThread | Line 334 | TIMER: getAllRecordings took 0.00 seconds
11:13:35 T:2852682608 M:1783742464  NOTICE: .
11:13:35 T:2826681200 M:1783742464  NOTICE: DEBUG | mythbox.ui | recordings2.py 
| Thread-10 | Line 180 | Precaching 1 thumbnails
11:13:35 T:2826681200 M:1783742464  NOTICE: .
11:13:35 T:2852682608 M:1783742464  NOTICE: DEBUG | mythbox.ui | recordings2.py 
| MainThread | Line 242 | Rendering....
11:13:35 T:2852682608 M:1783742464  NOTICE: .
11:13:35 T:2826681200 M:1783742464  NOTICE: DEBUG | mythbox.cache | 
filecache.py | Thread-10 | Line 111 | Cache HIT Avocats et associés
11:13:35 T:2826681200 M:1783742464  NOTICE: .
11:13:35 T:2852682608 M:1783742464  NOTICE: ERROR | mythbox.core | util.py | 
MainThread | Line 401 | (<class exceptions.UnicodeDecodeError at 0xa7f95c4>, 
<exceptions.UnicodeDecodeError instance at 0xaae16dd4>, <traceback object at 
0xaae0bc24>)
11:13:35 T:2852682608 M:1783742464  NOTICE: .
11:13:35 T:2852682608 M:1783742464  NOTICE: ERROR | mythbox.core | util.py | 
MainThread | Line 402 | CATCHALL_UI: Caught <type 'instance'> exception 'ascii' 
codec can't decode byte 0xc3 in position 17: ordinal not in range(128) on 
method onInit
                                            Traceback (most recent call last):
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 399, in catchall_ui
                                                return func(*args, **kw)
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 105, in onInit
                                                self.refresh()
                                              File "<string>", line 1, in <lambda>
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/toolkit.py", line 196, in window_busy
                                                result = func(*args, **kwargs)
                                              File "<string>", line 1, in <lambda>
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 123, in inject_conn
                                                result = func(*args, **kwargs)
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 229, in refresh
                                                self.render()
                                              File "<string>", line 1, in <lambda>
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 372, in ui_locked2
                                                result = func(*args, **kw)
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 244, in render
                                                self.renderGroups()
                                              File "/home/user/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 255, in renderGroups
                                                sortedGroups.sort(key=GROUP_SORT_BY[self.groupSortBy]['sorter'], reverse=GROUP_SORT_BY[self.groupSortBy]['reverse'])
                                            UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 17: ordinal not in range(128)

This video called "Avocats et associés" (accented character in 18th position) 
is in a category called "série" in mythconverg.

Sorry to bother you with this, but accented characters are unfortunately 
allmost everywhere in french ...

Thanks, and way to go for your great job !
Just an foolish question: is it imperative to use the "old" python 2.4 
libraries of xbmc ?

Best regards.

Original comment by bmai...@gmail.com on 29 Mar 2011 at 9:41

GoogleCodeExporter commented 9 years ago
Ok, we're making progress. We're stuck with Python 2.4 because that is what is 
distributed along with XBMC. Try again with the latest trunk which fixes your 
latest error. I don't really have an easy way to reproduce the problem 
otherwise we wouldn't need so much back and forth. 

Original comment by semir.pa...@gmail.com on 30 Mar 2011 at 3:26

GoogleCodeExporter commented 9 years ago
Hello,

Sorry, so sorry ... No improvment with rev c985a057a9d9 ...

With the same background: just one record called "Avocats et associés" in 
category "série" in recorded table into mythconverg.
Record can't no more be listing in grid.

Here the log:

WARNING | mythbox.ui | recordings2.py | MainThread | Line 118 | groups focus
DEBUG | mythbox.perf | util.py | MainThread | Line 334 | TIMER: 
getAllRecordings took 0.01 seconds
DEBUG | mythbox.ui | recordings2.py | Thread-10 | Line 180 | Precaching 1 
thumbnails
DEBUG | mythbox.ui | recordings2.py | MainThread | Line 242 | Rendering....
DEBUG | mythbox.cache | filecache.py | Thread-10 | Line 111 | Cache HIT Avocats 
et associés 
ERROR | mythbox.core | util.py | MainThread | Line 401 | (<class 
exceptions.UnicodeDecodeError at 0x989e534>, <exceptions.UnicodeDecodeError 
instance at 0x9a55e6c>, <traceback object at 0x9f80c8c>)
ERROR | mythbox.core | util.py | MainThread | Line 402 | CATCHALL_UI: Caught 
<type 'instance'> exception 'ascii' codec can't decode byte 0xc3 in position 
17: ordinal not in range(128) on method onInit
Traceback (most recent call last):
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 399, in catchall_ui
    return func(*args, **kw)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 105, in onInit
    self.refresh()
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/toolkit.py", line 196, in window_busy
    result = func(*args, **kwargs)
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 123, in inject_conn
    result = func(*args, **kwargs)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 229, in refresh
    self.render()
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 372, in ui_locked2
    result = func(*args, **kw)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 244, in render
    self.renderGroups()
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 255, in renderGroups
    sortedGroups.sort(key=GROUP_SORT_BY[self.groupSortBy]['sorter'], reverse=GROUP_SORT_BY[self.groupSortBy]['reverse'])
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordings2.py", line 50, in <lambda>
    ('Title', {'translation_id': m.TITLE, 'reverse': False, 'sorter' : lambda g: [g.title, u'0000'][g.title == u'All recordings']}),
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 17: 
ordinal not in range(128)

It seems errors occur to same place, with, in addition, a new error in 
recordings2.py line 50 concerning title which didn't exist before this rev. 
c985a057a9d9
Unfortunately, my developper skills are pretty poor... otherwise I could help 
you with these damned accented characters.
Thanks for your efforts !
Don't hesitate if you need more informations.

Original comment by bmai...@gmail.com on 30 Mar 2011 at 9:42

GoogleCodeExporter commented 9 years ago
Going over the code and unit tests, I'm not seeing a cause for the issue. Lets 
make sure you're absolutely running the revision you think you are and not 
using any invalid settings or cached python files:

Removes all your MythBox settings:

  rm -rfv ~/.xbmc/userdata/addon_data/script.mythbox

Removes all cached python files:

  find -L ~/.xbmc/addons/script.mythbox -name "*.pyo" -o -name "*.pyc" | rm -fv

Thx..

Original comment by semir.pa...@gmail.com on 30 Mar 2011 at 4:10

GoogleCodeExporter commented 9 years ago
Yes, before testing a new revision, I completely clean these 2 directories.

I'd just done it a new time to be absolutely sure, and same result, same log.
Don't you worry, I'm going to take the usual to replace all accented characters 
in the titles of records in the "recorded" table.
If I rename "Avocats et associés" in "Avocats et associes" in this table 
(field title) and even if I let the category field as "série", It works in 
Mythbox : recording appears. So issue is really only on titles.
Just a last question if you have time: do you think it could be possible to 
come back to a revision which only contains "recordings.py" (and not 
recordings2) while keeping the other files in a up to date revision ? 
I know I'd lose somme good stuff...
If you think it's pretty impossible (dependancies between files, imports, etc 
...) or just a bad idea, no problem because I can workaround by renaming.

Great thanks for your all your efforts and availability !

Original comment by bmai...@gmail.com on 30 Mar 2011 at 6:14

GoogleCodeExporter commented 9 years ago
OK, finally fixed in de78d429b4c4

Original comment by semir.pa...@gmail.com on 4 Apr 2011 at 6:14

GoogleCodeExporter commented 9 years ago
Hello Analogue,

I'd just tried your last revision c2e6924a2f7b and there are lots of 
improvments concerning utf8 titles or description.
But there's still an issue in "recordings" window:

Shows with accented title (and with accents also in description) appear 
correctly but when clicking on it, in front of the details of the show, I still 
get this error:

Error: onInit
'ascii' codec can't encode character u'\xea' in position 36: ordinal not in 
range (128)

And no thumbnail is generated in window "details" (although a thumbnail is 
generated in home window with rendercoverFlow).

In this example, the show is intitled "Les enquêtes impossibles".

It's just "cosmetic": show is correctly printed in "details" (title and 
description, but just no thumbnail), and can be played without any problem.

Below some informations:

DEBUG | mythbox.ui | recordings2.py | Thread-18 | Line 446 | renderPosters -- 
BEGIN --
DEBUG | mythbox.ui | recordings2.py | Thread-20 | Line 461 | renderBackgrounds 
-- BEGIN --
DEBUG | mythbox.ui | recordings2.py | Thread-18 | Line 455 | renderPosters -- 
END --
DEBUG | mythbox.ui | recordings2.py | Thread-20 | Line 471 | renderBackgrounds 
-- END --
WARNING | mythbox.ui | recordings2.py | MainThread | Line 173 | uncaught action 
id 7
DEBUG | mythbox.cache | filecache.py | MainThread | Line 85 | Cache MISS 
RecordedProgram {channel = 11, start = 2011-04-04 14:05:00, end = 2011-04-04 
14:55:00, file = myth://192.168.1.80:6543/1011_20110404140500.mpg, title = 
'u'Les enqu\xeates impossibles'', sub = u'', desc = 'u"Un flori', hostname = 
HTPC}
DEBUG | mythbox.perf | util.py | MainThread | Line 240 | TIMER: 
negotiateProtocol took 0.00 seconds
DEBUG | mythbox.perf | util.py | MainThread | Line 240 | TIMER: annFileTransfer 
took 0.08 seconds
DEBUG | mythbox.core | conn.py | MainThread | Line 1108 | file = 
myth://192.168.1.80:6543/1011_20110404140500.mpg.640x360.png reply[0] = 42 
filesize = 0
ERROR | mythbox.core | util.py | MainThread | Line 307 | (<class 
exceptions.UnicodeEncodeError at 0xa584a7c>, <exceptions.UnicodeEncodeError 
instance at 0xaaa7484c>, <traceback object at 0xaa8eaeb4>)
ERROR | mythbox.core | util.py | MainThread | Line 308 | CATCHALL_UI: Caught 
<type 'instance'> exception 'ascii' codec can't encode character u'\xea' in 
position 36: ordinal not in range(128) on method onInit
Traceback (most recent call last):
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 305, in catchall_ui
    return func(*args, **kw)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordingdetails.py", line 71, in onInit
    self.render()
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/toolkit.py", line 196, in window_busy
    result = func(*args, **kwargs)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordingdetails.py", line 234, in render
    self.renderThumbnail()
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/ui/recordingdetails.py", line 265, in renderThumbnail
    thumbFile = self.mythThumbnailCache.get(self.program)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/filecache.py", line 90, in get
    self.resolver.store(fileUrl, filepath)
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/db.py", line 139, in inject_db
    result = func(*args, **kwargs)
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 123, in inject_conn
    result = func(*args, **kwargs)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/resolver.py", line 58, in store
    if self.conn().generateThumbnail(program, backend.ipAddress):
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/util.py", line 233, in timed
    result = func(*args, **kw)
  File "<string>", line 1, in <lambda>
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/db.py", line 139, in inject_db
    result = func(*args, **kwargs)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 559, in generateThumbnail
    reply = self._sendRequest(self.cmdSock, msg)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 1231, in _sendRequest
    self._sendMsg(s, msg)
  File "/home/phil/.xbmc/addons/script.mythbox/resources/src/mythbox/mythtv/conn.py", line 1228, in _sendMsg
    raise e
UnicodeEncodeError: 'ascii' codec can't encode character u'\xea' in position 
36: ordinal not in range(128)

About the absence of thumbnail:
I don't have a 640x360 png file in records directory, just 3 png sizing 100x56 
(name.mpg.64.100x56.png , 100x75 (same template) , and 320x240 (just called 
name.mpg.png).
So thumbnail issue has perhaps nothing to do with Mythbox...
Other show have a 640x360 png. 

Thanks ! You really improved suport of utf8 ! Another time this error is just 
cosmetic.

Original comment by bmai...@gmail.com on 10 Apr 2011 at 11:09

GoogleCodeExporter commented 9 years ago
Fix committed to trunk

Original comment by semir.pa...@gmail.com on 10 Apr 2011 at 10:40

GoogleCodeExporter commented 9 years ago
YESSSS !!
Wonderful !

Thanks a lot.

Original comment by bmai...@gmail.com on 11 Apr 2011 at 7:13

GoogleCodeExporter commented 9 years ago

Original comment by semir.pa...@gmail.com on 15 Apr 2011 at 12:30