[mythtv-commits] Ticket #8917: Jamu script crashes in dutch locale

MythTV mythtv at cvs.mythtv.org
Sat Sep 11 22:25:52 UTC 2010


#8917: Jamu script crashes in dutch locale
---------------------------------------+------------------------------------
     Reporter:  launchpad@…            |       Owner:  robertm
         Type:  defect                 |      Status:  new    
     Priority:  minor                  |   Milestone:  unknown
    Component:  Plugin - MythVideo     |     Version:  0.23.1 
     Severity:  medium                 |    Keywords:  jamu   
Ticket locked:  0                      |  
---------------------------------------+------------------------------------
 I get the following error whenever the jamy.py script is run by a cron
 job:

 Traceback (most recent call last):
   File "/usr/share/mythtv/mythvideo/scripts/jamu.py", line 6435, in
 <module> main()
   File "/usr/share/mythtv/mythvideo/scripts/jamu.py", line 6420, in main
 process.processMythTvMetaData()
   File "/usr/share/mythtv/mythvideo/scripts/jamu.py", line 5588, in
 processMythTvMetaData
     self._downloadScheduledRecordedGraphics()
   File "/usr/share/mythtv/mythvideo/scripts/jamu.py", line 5235, in
 _downloadScheduledRecordedGraphics
     programs = self._getScheduledRecordedProgramList()
   File "/usr/share/mythtv/mythvideo/scripts/jamu.py", line 5051, in
 _getScheduledRecordedProgramList
     recordedlist = MythBE(backend=mythbeconn.hostname,
 db=mythbeconn.db).getRecordings()
   File "/usr/lib/python2.6/site-packages/MythTV/MythFunc.py", line 325, in
 getRecordings
     + PROGRAM_FIELDS], db=self.db))
   File "/usr/lib/python2.6/site-packages/MythTV/MythData.py", line 444, in
 __init__
     DictData.__init__(self, raw)
   File "/usr/lib/python2.6/site-packages/MythTV/MythBase.py", line 166, in
 __init__
     self.data.update(self._process(raw))
   File "/usr/lib/python2.6/site-packages/MythTV/MythBase.py", line 178, in
 _process data[i] = locale.atof(data[i])
   File "/usr/lib/python2.6/locale.py", line 292, in atof
     return func(string)
 ValueError: invalid literal for float(): 0,000000

 I managed to solve this by exporting a locale in the mythvideo cron
 scripts:


 #!/bin/sh
 #Hourly massive update to ensure users see graphics coming in for upcoming
 recordings and current recordings
 DIRECTORY=$(grep ^mythtv /etc/passwd | awk -F : '{print $6}')
 if [ -f "$DIRECTORY/.mythtv/config.xml" ]; then
     su mythtv -c "export locale=nl_NL.UTF-8; /usr/bin/python
 /usr/share/mythtv/mythvideo/scripts/jamu.py -MW >>
 '/var/log/mythtv/jamu.log'"
 #    su mythtv -c "/home/mythtv/jamu >> '/var/log/mythtv/jamu.log'"
 fi

 In addition, I had to insert a call to locale.resetlocale() into the
 main() method of jamu.py:

 def main():
     """Support jamu from the command line
     returns True
     """
     locale.resetlocale()

     parser = OptionParser(usage=u"%prog usage: jamu
 -hbueviflstdnmoCRFUDSGN [parameters]\n <series name/SID or 'series/SID and
 season number' or 'series/SID and season number and episode number' or
 'series/SID and episode name' or video file/directory paired with
 destination directory'>")

 I'm not a python expert, so maybe there are better ways to solve the
 problem. But maybe you can use this.

 Cheers,

 Paul

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/8917>
MythTV <http://www.mythtv.org/>
MythTV Media Center


More information about the mythtv-commits mailing list