Myth Archive bails out with python error

Asked by David Morris on 2007-02-14

I'm using mythTV 0.20 frontend on both Edgy/Feisty with my backend running on Edgy. I'm able to record and do everything else fine, however when I take a recording and try and create a DVD iso I get this in the logs straight away and it stops.

2007-02-14 18:13:03 mythburn.py (0.1.20060910-1) starting up...
2007-02-14 18:13:03 Obtaining MythTV settings from MySQL database for hostname pacifica
2007-02-14 18:13:04 Obtaining date and time settings from MySQL database for hostname pacifica
2007-02-14 18:13:04 Processing Mythburn job number 1.
2007-02-14 18:13:04 Options - mediatype = 0, doburn = 0, createiso = 1, erasedvdrw = 0
2007-02-14 18:13:04 savefilename = ''
2007-02-14 18:13:04 Looking for: /usr/share/mythtv/mytharchive/themes/Compact/theme.xml
2007-02-14 18:13:04 Loading font 0, /usr/share/mythtv/FreeSans.ttf size 23
2007-02-14 18:13:04 Loading font 1, /usr/share/mythtv/FreeSans.ttf size 18
2007-02-14 18:13:04 Loading font 2, /usr/share/mythtv/FreeSans.ttf size 16
2007-02-14 18:13:04 wantIntro: 1, wantMainMenu: 1, wantChapterMenu:0, wantDetailsPage: 0
2007-02-14 18:13:04 Final DVD Video format will be pal
2007-02-14 18:13:04 There are 1 files to process
2007-02-14 18:13:04 Pre-processing file '1035_20070213210000.mpg' of type 'recording'
2007-02-14 18:13:04 ------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 3393, in <module>
    processJob(job)
  File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 3169, in processJob
    preProcessFile(node,folder)
  File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 1045, in preProcessFile
    mediafile = os.path.join(recordingpath, file.attributes["filename"].value)
  File "posixpath.py", line 62, in join
    elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'
2007-02-14 18:13:04 ------------------------------------------------------------

I'm guessing its because the filename = nothing, but any ideas how to fix this problem?

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu mythtv Edit question
Assignee:
No assignee Edit question
Solved by:
Shawn Collins
Solved:
2007-06-07
Last query:
2007-06-07
Last reply:
2007-02-23
Tim Rietmann (tsr-the-truth) said : #1

Hi David,

personally I don't have any experience with mythtv per-se, but the error message you get looks as if you either don't have the the necessary python dependendencies installed (i.e. library packages) or that your version of python is outdated. If you installed mythtv from the repositories, and you find the source of your problem, then this might be worth a bug report. :)
I'm sorry that I can't provide a solution out of the box.

David Morris (dave-greenacre) said : #2

I've already tried reinstalling python, and made sure I had the python-mysqldb and python-imaging modules installed. I've installed all from repositories, and it happens on both my frontends.

I notice that the myth site says it depends on 2.3 but I guess it should work on the latest release with python?

I've also dug around a bit and noticed that the xml config file for the operation has a blank filename value, so the problem could be in creating that, but its python that throws the error.

Best Shawn Collins (shawncollins) said : #3

I was having the same issue. With a separate frontend, I had to nfs mount my myth media and create an entry in the settings table for my frontend.
Basically:

root@pc$ sudo mount mythtv:/my/media /media/mythtv
root@pc$ mysql -h mythtv -u mythtv -p mythconverg

*check the current values for the frontend in question with: ( replace '<my frontend unique identifier>' with your machine name, or identrifier )

mysql> select value, data from settings where value in ('DBSchemaVer') or (hostname='<my frontend unique identifier>' and value in( 'RecordFilePrefix', 'VideoStartupDir', 'GalleryDir', 'MusicLocation', 'MythArchiveVideoFormat', 'MythArchiveTempDir', 'MythArchiveFfmpegCmd', 'MythArchiveMplexCmd', 'MythArchiveDvdauthorCmd', 'MythArchiveMkisofsCmd', 'MythArchiveTcrequantCmd', 'MythArchiveMpg123Cmd', 'MythArchiveProjectXCmd', 'MythArchiveDVDLocation', 'MythArchiveGrowisofsCmd', 'MythArchivePng2yuvCmd', 'MythArchiveSpumuxCmd', 'MythArchiveMpeg2encCmd', 'ISO639Language0', 'ISO639Language1'))

* insert (or update) a RecordFilePrefix into the settings table for this frontend:

mysql> insert into settings (value, data, hostname) VALUES ('RecordFilePrefix', '/media/mythtv', '<my frontend unique identifier>');

Then it worked.

David Morris (dave-greenacre) said : #4

Thanks Shawn Collins, that solved my question.