Kodi Community Forum

Full Version: mythicalLibrarian - a tool to build Movie and TV Show library from MythTV recordings
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
If you can get the eit XML, that would be great. It appears that your Mc2xml is working fine.
Any idea where this xml may be located?
I thought you would know... you offered. Big Grin I don't use EIT. Just paste the output.log entries for a Movie, an Episode, and a showing. If I need more we will pull it from the database directly.
From the --scan a movie:
Code:
###################DEBUG MODE ENABLED####################
MY USER NAME:mythtv-
LISTING INTERNAL VARIABLES USED BY mythicalLibrarian.
INTERNET TIMEOUT:50- TVDB API KEY:6DF511BB2A64E0E9- mythicalLibrarian WORKING DIR:/home/mythtv/.mythicalLibrarian-
MOVE DIR:/media/Myth/Episodes-
FAILSAFE MODE:Enabled- FAILSAFE DIR:/home/mythtv/FailSafe- ALTERNATE MOVE DIR:/media/Myth/Episodes-
USE ORIGINAL DIR:Enabled NOTIFICATIONS:Enabled
INPUT SHOW NAME:The Untouchables- LOCAL SHOW NAME TRANSLATION:- ShowName:The Untouchables
DATABASE UPDATED:- TVDB LAST UPDATED:- CURRENT:-
RESOLVED SERIES ID:- RESOVED SHOW NAME:The Untouchables-
INPUT EPISODE NAME:- Absolute EPISODE NUMBER:- RESOLVED EPISODE NAME:-
SEASON:- EPISODE:- SYMLINK MODE:MOVE- FILESIZE: 0kB-
CONFIDENCE:0 LOGIC PATH: +Failed;  Could not set Sxx and Exx, Failed;  Guide Data reported this is a movie;
CREATE AND DELETE FLAGS: ORIGINALDIR:1- FREE:85318632kB- WORKINGDIR:1 FREE:24125328kB-
MOVEDIRWRITABLE:1- FREE:85318632kB- ALTERNATEMOVEDIR:1- FREE:85318632kB-
PRIMARYSHOWDIRWRITABLE:1-  FREE:85318632kB-ALTERNATESHOWDIRWRITABLE:1- FREE:85318632kB-
PRIMARYMOVIEDIRWRITABLE:1- FREE:85318632kB- ALTERNATEMOVIEDIR:1- FREE:85318632kB-
DATABASE TYPE:eitonly-
RECSTART:2011-01-30 14:30:00- MOVIE YEAR:1987- ORIGINAL SERIES DATE:-
PROGRAMID:MV000224910000- CHANNEL ID:1281- CATEGORY:drama- GOFORDOOVER:0-
EXTRAPOLATED DATA DETERMINED THIS RECORDING AS A:Movie- STARS:1 RATING:2
ZAP2IT SERIES ID:22491- MATCHED TVDB SERIES ID:-
PLOT: Eliot Ness (Kevin Costner) and his men fight Al Capone (Robert De Niro) in Chicago during Prohibition.
####################END OF DEBUG LOG#####################
CREATING FOLDER: /media/Myth/Movies/The Untouchables
MOVING FILE: '/media/Myth/1281_20110130143000.mpg' to '/media/Myth/Movies/The Untouchables/The Untouchables (1987).mpg'
@@@@@@@@@@@@@OPERATION COMPLETE Wed Mar 2 08:45:54 CST 2011 @@@@@@@@@@@@@@@@

An episode:
Code:
@@@@@@@@@@@NEW SEARCH INITIATED AT Wed Mar  2 08:45:54 CST [email protected]@@@@@@@@@@@@@
Revision 931 Tue Mar 1 21:26:02 CST 2011 on Linux
PERFORMING MAINTENANCE ROUTINE
SEARCHING: www.TheTvDb.com SHOW NAME: Deadliest Catch EPISODE: Mortal Men
DATE:2008  FILE NAME: /media/Myth/1301_20110110003000.mpg
MATCH FOUND BASED ON Zap2itID:
FOUND:Deadliest Catch ID#:78957 WITH CONFIDENCE:1
Creating MythicalLibrarian Database Folder
AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
###################DEBUG MODE ENABLED####################
MY USER NAME:mythtv-
LISTING INTERNAL VARIABLES USED BY mythicalLibrarian.
INTERNET TIMEOUT:50- TVDB API KEY:6DF511BB2A64E0E9- mythicalLibrarian WORKING DIR:/home/mythtv/.mythicalLibrarian-
MOVE DIR:/media/Myth/Episodes-
FAILSAFE MODE:Enabled- FAILSAFE DIR:/home/mythtv/FailSafe- ALTERNATE MOVE DIR:/media/Myth/Episodes-
USE ORIGINAL DIR:Enabled NOTIFICATIONS:Enabled
INPUT SHOW NAME:Deadliest Catch- LOCAL SHOW NAME TRANSLATION:- ShowName:Deadliest Catch
DATABASE UPDATED:- TVDB LAST UPDATED:- CURRENT:-
RESOLVED SERIES ID:78957- RESOVED SHOW NAME:Deadliest Catch-
INPUT EPISODE NAME:Mortal Men- Absolute EPISODE NUMBER:64- RESOLVED EPISODE NAME:Mortal Men-
SEASON:S04- EPISODE:E12- SYMLINK MODE:MOVE- FILESIZE: 0kB-
CONFIDENCE:0 LOGIC PATH:  Attempted Match On Zap2itID: Sucessful; Attemped match on OriginalAirDate: Failed; Attemted SubTitle match on Standard logic: Sucessful;
CREATE AND DELETE FLAGS: ORIGINALDIR:1- FREE:85318620kB- WORKINGDIR:1 FREE:24125244kB-
MOVEDIRWRITABLE:1- FREE:85318620kB- ALTERNATEMOVEDIR:1- FREE:85318620kB-
PRIMARYSHOWDIRWRITABLE:1-  FREE:85318620kB-ALTERNATESHOWDIRWRITABLE:1- FREE:85318620kB-
PRIMARYMOVIEDIRWRITABLE:1- FREE:85318620kB- ALTERNATEMOVIEDIR:1- FREE:85318620kB-
DATABASE TYPE:eitonly-
RECSTART:2011-01-10 00:30:00- MOVIE YEAR:2008- ORIGINAL SERIES DATE:-
PROGRAMID:EP007331290061- CHANNEL ID:1301- CATEGORY:actionadventure- GOFORDOOVER:0-
EXTRAPOLATED DATA DETERMINED THIS RECORDING AS A:Series With Episode Data- STARS:0 RATING:0
ZAP2IT SERIES ID:733129- MATCHED TVDB SERIES ID:-
PLOT: Storm waves tear up the decks of the Early Dawn, North American and Northwestern; on the Cornelia Marie, Phil injures his ribs.
####################END OF DEBUG LOG#####################
CREATING FOLDER: /media/Myth/Episodes/Deadliest Catch
MOVING FILE: '/media/Myth/1301_20110110003000.mpg' to '/media/Myth/Episodes/Deadliest Catch/Season 4/Deadliest Catch S04E12 (Mortal Men).mpg'
@@@@@@@@@@@@@OPERATION COMPLETE Wed Mar 2 08:45:58 CST 2011 @@@@@@@@@@@@@@@@

A showing:
Code:
@@@@@@@@@@@NEW SEARCH INITIATED AT Wed Mar  2 08:36:33 CST [email protected]@@@@@@@@@@@@@
Revision 931 Tue Mar 1 21:26:02 CST 2011 on Linux
PERFORMING MAINTENANCE ROUTINE
SEARCHING: www.TheTvDb.com SHOW NAME: The Cape EPISODE: Scales on a Train
DATE:2011  FILE NAME: /media/Myth/1041_20110124200000.mpg
MATCH FOUND BASED ON Zap2itID:
FOUND:The Cape (2011) ID#:160671 WITH CONFIDENCE:1
Creating MythicalLibrarian Database Folder
AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
AIRDATE/SANDARD LOGIC FAILED. FUZZY LOGIC ABSOLUTE:
###################DEBUG MODE ENABLED####################
MY USER NAME:mythtv-
LISTING INTERNAL VARIABLES USED BY mythicalLibrarian.
INTERNET TIMEOUT:50- TVDB API KEY:6DF511BB2A64E0E9- mythicalLibrarian WORKING DIR:/home/mythtv/.mythicalLibrarian-
MOVE DIR:/media/Myth/Episodes-
FAILSAFE MODE:Enabled- FAILSAFE DIR:/home/mythtv/FailSafe- ALTERNATE MOVE DIR:/media/Myth/Episodes-
USE ORIGINAL DIR:Enabled NOTIFICATIONS:Enabled
INPUT SHOW NAME:The Cape- LOCAL SHOW NAME TRANSLATION:- ShowName:The Cape
DATABASE UPDATED:- TVDB LAST UPDATED:- CURRENT:-
RESOLVED SERIES ID:160671- RESOVED SHOW NAME:The Cape (2011)-
INPUT EPISODE NAME:Scales on a Train- Absolute EPISODE NUMBER:- RESOLVED EPISODE NAME:Scales on a Train-
SEASON:- EPISODE:- SYMLINK MODE:MOVE- FILESIZE: 0kB-
CONFIDENCE:-2 LOGIC PATH:  Attempted Match On Zap2itID: Sucessful; Attemped match on OriginalAirDate: Failed; Attemted SubTitle match on Standard logic: Failed; Attemted SubTitle match on Fuzzy logic: Failed; Could not set Sxx and Exx, Failed;  Guide Data did not match showing;
CREATE AND DELETE FLAGS: ORIGINALDIR:1- FREE:85320156kB- WORKINGDIR:1 FREE:24144620kB-
MOVEDIRWRITABLE:1- FREE:85320156kB- ALTERNATEMOVEDIR:1- FREE:85320156kB-
PRIMARYSHOWDIRWRITABLE:1-  FREE:85320156kB-ALTERNATESHOWDIRWRITABLE:1- FREE:85320156kB-
PRIMARYMOVIEDIRWRITABLE:1- FREE:85320156kB- ALTERNATEMOVIEDIR:1- FREE:85320156kB-
DATABASE TYPE:eitonly-
RECSTART:2011-01-24 20:00:00- MOVIE YEAR:2011- ORIGINAL SERIES DATE:-
PROGRAMID:EP012791650005- CHANNEL ID:1041- CATEGORY:drama- GOFORDOOVER:0-
EXTRAPOLATED DATA DETERMINED THIS RECORDING AS A:Series With Episode Data- STARS:0 RATING:0
ZAP2IT SERIES ID:1279165- MATCHED TVDB SERIES ID:-
PLOT: Scales goes to a costume party on a train to confront Peter, who has been extorting money; Dana and Trip try to deal with their loss.
####################END OF DEBUG LOG#####################
WARNING:SHOW WAS CONSIDERED AN EPISODE BUT INFORMAITON WAS NOT OBTAINABLE
%%%%%%%%%%%%Please consider helping out and adding to thetvdb%%%%%%%%%%%%
HANDLING EPISODE AS GENERAL SHOWING AND DUMPING INTO --doover USER JOB
CREATING FOLDER: /media/Myth/Showings/The Cape
MOVING FILE: '/media/Myth/1041_20110124200000.mpg' to '/media/Myth/Showings/The Cape/The Cape S0E0 (Scales on a Train Recorded [email protected] on 1041).mpg'
@@@@@@@@@@@@@OPERATION COMPLETE Wed Mar 2 08:36:34 CST 2011 @@@@@@@@@@@@@@@@

Here is a sample of the mc2xml generated xmltv.xml:
Code:
    <programme start="20110308110000 -0600" stop="20110308113000 -0600" channel="I52.41152515.microsoft.com">
        <title lang="en">Jeopardy!</title>
        <credits>
            <presenter>Alex Trebek</presenter>
        </credits>
        <date>20100309</date>
        <category lang="en">Episodic</category>
        <category lang="en">Game Show</category>
        <category lang="en">Series</category>
        <episode-num system="onscreen">5872</episode-num>
        <episode-num system="dd_progid">EP00002348.2074</episode-num>
        <video>
            <aspect>16:9</aspect>
            <quality>HDTV</quality>
        </video>
        <previously-shown start="20100309000000" />
        <subtitles type="teletext" />
        <rating system="VCHIP">
            <value>TV-G</value>
        </rating>
    </programme>

A movie:
Code:
    <programme start="20110312120000 -0600" stop="20110312140000 -0600" channel="I52.41152515.microsoft.com">
        <title lang="en">Anne B. Real</title>
        <desc lang="en">A New York teenager's (Janice Richardson) drug-addicted brother (Carlos Leon) sells her lyrics to a rapper who wants to make a record.</desc>
        <credits>
            <director>Lisa France</director>
            <actor>Janice Richardson</actor>
            <actor>Carlos Leon</actor>
            <actor>Sherri Saum</actor>
            <actor>Eric Smith</actor>
            <actor>Jackie Quinones</actor>
            <actor>Geronimo Frias</actor>
            <actor>Antonio Macia</actor>
            <actor>Ernie Hudson</actor>
            <actor>Lady May</actor>
            <actor>Charles Holt</actor>
            <actor>Luis Moro</actor>
            <actor>Mike Starr</actor>
            <actor>David Zayas</actor>
            <actor>Jackie Martling</actor>
            <actor>David Cera</actor>
            <actor>Nesta Ward</actor>
        </credits>
        <date>2003</date>
        <category lang="en">Drama</category>
        <category lang="en">Movie</category>
        <category lang="en">Movies</category>
        <length units="minutes">91</length>
        <episode-num system="dd_progid">MV00139270.0000</episode-num>
        <rating system="VCHIP">
            <value>TV-PG</value>
        </rating>
        <rating system="MPAA">
            <value>PG13</value>
        </rating>
        <rating system="advisory">
            <value>Adult Situations</value>
        </rating>
        <rating system="advisory">
            <value>Violence</value>
        </rating>
        <star-rating>
            <value>3/4</value>
        </star-rating>
    </programme>
The third output.log entry you posted is an Episode which was handled as a showing. Basically, the TvDb had no information on that episode. We need a generic showing with the EIT data. Showings are marked with a programid of SH*****..... Do a search though the log for "PROGRAMID:SH" and find an entry which contains "DATABASE TYPE:eitonly-".

From what I'm seeing it will be a simple change of adding an statement to correct:
Code:
EP007261330133.12

to
Code:
EP007261330133
by searching ProgramID for a period and removing all after. This will be a simple matter of updating the current database processors rather then creating a new one.


As for Cops...
Code:
INPUT SHOW NAME:Cops- LOCAL SHOW NAME TRANSLATION:- ShowName:Cops
DATABASE UPDATED:- TVDB LAST UPDATED:- CURRENT:-
RESOLVED SERIES ID:72536- RESOVED SHOW NAME:The Cops-

It should have a Zap2itID of:*****17070
Verify that there is a subtitle of:2319
There is no airdate, only a movie date, so it is likely to be a bad title issue on that one.

can you verify that the resolved information is correct on thetvdb? I'm at work and that site is blocked. It's difficult to navigate TheTvDb on my phone.

I need a true generic showing still.
Hope this is what your looking for:

Code:
@@@@@@@@@@@NEW SEARCH INITIATED AT Wed Mar  2 08:38:54 CST [email protected]@@@@@@@@@@@@@
Revision 931 Tue Mar 1 21:26:02 CST 2011 on Linux
PERFORMING MAINTENANCE ROUTINE
###################DEBUG MODE ENABLED####################
MY USER NAME:mythtv-
LISTING INTERNAL VARIABLES USED BY mythicalLibrarian.
INTERNET TIMEOUT:50- TVDB API KEY:6DF511BB2A64E0E9- mythicalLibrarian WORKING DIR:/home/mythtv/.mythicalLibrarian-
MOVE DIR:/media/Myth/Episodes-
FAILSAFE MODE:Enabled- FAILSAFE DIR:/home/mythtv/FailSafe- ALTERNATE MOVE DIR:/media/Myth/Episodes-
USE ORIGINAL DIR:Enabled NOTIFICATIONS:Enabled
INPUT SHOW NAME:Channel 4 News at 6:30- LOCAL SHOW NAME TRANSLATION:- ShowName:Channel 4 News at 6:30
DATABASE UPDATED:- TVDB LAST UPDATED:- CURRENT:-
RESOLVED SERIES ID:- RESOVED SHOW NAME:Channel 4 News at 6:30-
INPUT EPISODE NAME:- Absolute EPISODE NUMBER:- RESOLVED EPISODE NAME:-
SEASON:- EPISODE:- SYMLINK MODE:MOVE- FILESIZE: 0kB-
CONFIDENCE:0 LOGIC PATH:  Could not set Sxx and Exx, Failed;  Guide Data reported this is a generic showing with no matchable data;
CREATE AND DELETE FLAGS: ORIGINALDIR:1- FREE:85319668kB- WORKINGDIR:1 FREE:24139420kB-
MOVEDIRWRITABLE:1- FREE:85319668kB- ALTERNATEMOVEDIR:1- FREE:85319668kB-
PRIMARYSHOWDIRWRITABLE:1-  FREE:85319668kB-ALTERNATESHOWDIRWRITABLE:1- FREE:85319668kB-
PRIMARYMOVIEDIRWRITABLE:1- FREE:85319668kB- ALTERNATEMOVIEDIR:1- FREE:85319668kB-
DATABASE TYPE:eitonly-
RECSTART:2011-03-01 18:30:00- MOVIE YEAR:2010- ORIGINAL SERIES DATE:-
PROGRAMID:SH009424960000- CHANNEL ID:1041- CATEGORY:news- GOFORDOOVER:0-
EXTRAPOLATED DATA DETERMINED THIS RECORDING AS A:Generic Episode With No Data- STARS:0 RATING:0
ZAP2IT SERIES ID:942496- MATCHED TVDB SERIES ID:-
PLOT:
####################END OF DEBUG LOG#####################
GENERIC GUIDE DATA WAS SUPPLIED TYPE: Generic Episode With No Data- Channel 4 News at 6:30,
WARNING:%%%%%%%%%%PROGRAM GUIDE DATA IS NOT COMPLETE%%%%%%%%%%%%%%%%%%%%
CREATING FOLDER: /media/Myth/Showings/Channel 4 News at 630
GENERIC GUIDE DATA WAS SUPPLIED TYPE: Generic Episode With No Data- Channel 4 News at 6:30,
WARNING:%%%%%%%%%%PROGRAM GUIDE DATA IS NOT COMPLETE%%%%%%%%%%%%%%%%%%%%
MOVING FILE: '/media/Myth/1041_20110301183000.mpg' to '/media/Myth/Showings/Channel 4 News at 630/Channel 4 News at 630 S0E0 ( Recorded [email protected] on 1041).mpg'
@@@@@@@@@@@@@OPERATION COMPLETE Wed Mar 2 08:38:56 CST 2011 @@@@@@@@@@@@@@@@

And from the xml:

Code:
    <programme start="20110228183000 -0600" stop="20110228190000 -0600" channel="I51.28458869.microsoft.com">
        <title lang="en">Channel 4 News at 6:30</title>
        <category lang="en">News</category>
        <category lang="en">Other</category>
        <category lang="en">Series</category>
        <episode-num system="dd_progid">SH00942496.0000</episode-num>
        <new />
    </programme>

As for cops, I'm not sure about the tvdb but here is the output.log and a sample from the xml.

Code:
    @@@@@@@@@@@NEW SEARCH INITIATED AT Wed Mar  2 08:44:00 CST [email protected]@@@@@@@@@@@@@
Revision 931 Tue Mar 1 21:26:02 CST 2011 on Linux
PERFORMING MAINTENANCE ROUTINE
SEARCHING: www.TheTvDb.com SHOW NAME: Cops EPISODE: 2319
DATE:2011  FILE NAME: /media/Myth/1171_20110129190000.mpg
MATCH FOUND BASED ON Zap2itID:
FOUND:The Cops ID#:72536 WITH CONFIDENCE:1
Creating MythicalLibrarian Database Folder
AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
AIRDATE/SANDARD LOGIC FAILED. FUZZY LOGIC ABSOLUTE:
###################DEBUG MODE ENABLED####################
MY USER NAME:mythtv-
LISTING INTERNAL VARIABLES USED BY mythicalLibrarian.
INTERNET TIMEOUT:50- TVDB API KEY:6DF511BB2A64E0E9- mythicalLibrarian WORKING DIR:/home/mythtv/.mythicalLibrarian-
MOVE DIR:/media/Myth/Episodes-
FAILSAFE MODE:Enabled- FAILSAFE DIR:/home/mythtv/FailSafe- ALTERNATE MOVE DIR:/media/Myth/Episodes-
USE ORIGINAL DIR:Enabled NOTIFICATIONS:Enabled
INPUT SHOW NAME:Cops- LOCAL SHOW NAME TRANSLATION:- ShowName:Cops
DATABASE UPDATED:- TVDB LAST UPDATED:- CURRENT:-
RESOLVED SERIES ID:72536- RESOVED SHOW NAME:The Cops-
INPUT EPISODE NAME:2319- Absolute EPISODE NUMBER:1- RESOLVED EPISODE NAME:Episode 1-
SEASON:S01- EPISODE:E01- SYMLINK MODE:MOVE- FILESIZE: 0kB-
CONFIDENCE:-1 LOGIC PATH:  Attempted Match On Zap2itID: Sucessful; Attemped match on OriginalAirDate: Failed; Attemted SubTitle match on Standard logic: Failed; Attemted SubTitle match on Fuzzy logic: Sucessful;
CREATE AND DELETE FLAGS: ORIGINALDIR:1- FREE:85318824kB- WORKINGDIR:1 FREE:24127152kB-
MOVEDIRWRITABLE:1- FREE:85318824kB- ALTERNATEMOVEDIR:1- FREE:85318824kB-
PRIMARYSHOWDIRWRITABLE:1-  FREE:85318824kB-ALTERNATESHOWDIRWRITABLE:1- FREE:85318824kB-
PRIMARYMOVIEDIRWRITABLE:1- FREE:85318824kB- ALTERNATEMOVIEDIR:1- FREE:85318824kB-
DATABASE TYPE:eitonly-
RECSTART:2011-01-29 19:00:00- MOVIE YEAR:2011- ORIGINAL SERIES DATE:-
PROGRAMID:EP000170700906- CHANNEL ID:1171- CATEGORY:episodic- GOFORDOOVER:0-
EXTRAPOLATED DATA DETERMINED THIS RECORDING AS A:Series With Episode Data- STARS:0 RATING:0
ZAP2IT SERIES ID:17070- MATCHED TVDB SERIES ID:-
PLOT: A suspect on a bike tries to flee while being questioned by officers; a woman with a warrant out for her arrest claims she was assaulted; a man claims a neighbor chased him with a knife.
####################END OF DEBUG LOG#####################
CREATING FOLDER: /media/Myth/Episodes/The Cops
MOVING FILE: '/media/Myth/1171_20110129190000.mpg' to '/media/Myth/Episodes/The Cops/Season 1/The Cops S01E01 (Episode 1).mpg'
@@@@@@@@@@@@@OPERATION COMPLETE Wed Mar 2 08:44:03 CST 2011 @@@@@@@@@@@@@@@@

Code:
    <programme start="20110305193000 -0600" stop="20110305200000 -0600" channel="I52.41152515.microsoft.com">
        <title lang="en">Cops</title>
        <sub-title lang="en">U.S. Marshals</sub-title>
        <desc lang="en">A member of the U.S. Marshals Service briefs local police on a kidnapping case involving a 4-year-old boy; pursuing a fugitive suspected of drug possession.</desc>
        <date>20101106</date>
        <category lang="en">Episodic</category>
        <category lang="en">News</category>
        <category lang="en">Public Affairs</category>
        <category lang="en">Reality</category>
        <category lang="en">Series</category>
        <episode-num system="onscreen">2304</episode-num>
        <episode-num system="dd_progid">EP00017070.0900</episode-num>
        <video>
            <aspect>16:9</aspect>
            <quality>HDTV</quality>
        </video>
        <audio>
            <stereo>stereo</stereo>
        </audio>
        <previously-shown start="20101106000000" />
        <subtitles type="teletext" />
        <rating system="VCHIP">
            <value>TV-PG</value>
        </rating>
        <rating system="advisory">
            <value>Violence</value>
        </rating>
    </programme>
SVN 933 should have you up and running properly. You can run mythicalLibrarian --doover and it should catch The Office now.

Please do a "mythicalLibrarian --doMaintenance" before running --doover. See if it catches Cops this time.
outleradam Wrote:I have heard that there is a manual installation procedure. I am not really good with mac. . Could you look into installation of python bindings? Apparently, direct mysql access will not be possible with

got it. the osx builds on sourceforge don't contain the python bindings (i suspect because it's hard to overcome the 32bit mysql), but it's possible to link in them from source. thanks to this thread for the clue http://www.gossamer-threads.com/lists/mythtv/dev/389569



Code:
easy_install pip
export VERSIONER_PYTHON_PREFER_32_BIT=yes
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
sudo pip install MySQL-python
sudo pip install lxml
git clone -b fixes/0.24 git://github.com/MythTV/mythtv.git
cd mythtv/bindings/python
sudo python setup.py install

to test it:
Code:
python
>>>from MythTV import MythDB
>>>mythdb = MythDB()
>>>mythdb
<MythDB 'sql://[email protected]:3306/' at 0xffff10>


if python keeps tries to use 64 bit to access mysql (still 32 bit), you'll see this during mythicalSetup (even if MythDataGrabber works) -- i think it's about the visibility of the two prefer32 flags.

Code:
Traceback (most recent call last):
  File "/usr/local/bin/MythDataGrabber", line 167, in <module>
    from MythTV import MythDB
  File "/Library/Python/2.6/site-packages/MythTV/__init__.py", line 55, in <module>
    exec(import26)
  File "<string>", line 5, in <module>
  File "<string>", line 7, in <module>
  File "/Library/Python/2.6/site-packages/MythTV/connections.py", line 17, in <module>
    import MySQLdb, MySQLdb.cursors
  File "/Library/Python/2.6/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Library/Python/2.6/site-packages/_mysql.so, 2): no suitable image found.  Did find:
     /Library/Python/2.6/site-packages/_mysql.so: mach-o, but wrong architecture
Adam

how about growlnotify for OSX ? I haven't looked at the changes for mythicalSetup, but here's a patch for librarian-notify-send

Code:
Index: librarian-notify-send
===================================================================
--- librarian-notify-send       (revision 933)
+++ librarian-notify-send       (working copy)
@@ -6,7 +6,9 @@
# Dependencies: lib-notify-bin     Ubuntu: "sudo apt-get install lib-notify-bin"

user=`whoami`
-pids=`pgrep -u $user gnome-session`
+mythicalPlatform=`uname`
+
+
title=$1
text=$2
image=$3
@@ -22,11 +24,16 @@
         timeout=60000
fi

-for pid in $pids; do
-        # find DBUS session bus for this session
-        DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \
-                /proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
-        # send message to DBUS
-        DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \
-        notify-send -u low -i "$image" "$title" "$text"
-done
+if [[ $mythicalPlatform == Darwin* ]]; then
+       growlnotify -m "$text" --image "$image"
+else  
+       pids=`pgrep -u $user gnome-session`
+       for pid in $pids; do
+               # find DBUS session bus for this session
+               DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \
+                       /proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
+               # send message to DBUS
+               DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \
+               notify-send -u low -i "$image" "$title" "$text"
+       done
+fi
\ No newline at end of file
kvandesteeg Will this work?

Basically, the idea is, during mythicalSetup, this script will be run once and only once. If the OS=Darwin and the script is present it will not be run. If it is Darwin and the script is not present, then the script will be downloaded and run.
http://mythicallibrarian.googlecode.com/...staller.sh

Any other changes required?
kvandesteeg, is there a compiled binary maintained somewhere for the growl binary? I don't have a problem adding it, but we can't expect an end user to download and compile source code. That's pretty complicated. Mac is supposed to be simple. Even on linux it makes me cringe to add a dependency that makes the user type a few extra characters.
outleradam Wrote:kvandesteeg Will this work?

Basically, the idea is, during mythicalSetup, this script will be run once and only once. If the OS=Darwin and the script is present it will not be run. If it is Darwin and the script is not present, then the script will be downloaded and run.
http://mythicallibrarian.googlecode.com/...staller.sh

Any other changes required?

it's more of a logical sequence of steps for future OSX nuts Big Grin I'm not sure it's ready to be included in mythicalSetup

Downloading the entire mythtv source (366mb) for the python bindings (1.9mb) was a necessary evil. I already had it locally because I was trying to get it to add the flags to make to get it to build the bindings with the app, before your suggestion to manually add them led me down that sequence.
outleradam Wrote:kvandesteeg, is there a compiled binary maintained somewhere for the growl binary? I don't have a problem adding it, but we can't expect an end user to download and compile source code. That's pretty complicated. Mac is supposed to be simple. Even on linux it makes me cringe to add a dependency that makes the user type a few extra characters.

growlnotify is an optional install for growl users. no compilation needed, but it is in the 'extras' folder, and requires separate installation. as an aside -- if someone is willing to have xcode & macports (for agrep/curl) on their machines to install mythicalLibrarian, they might have growl already.

From some quick googling, someone has the binary on their github

I would just test for presence growlnotify.
Do you have any icons to render in the notification?
outleradam Wrote:SVN 933 should have you up and running properly. You can run mythicalLibrarian --doover and it should catch The Office now.

Please do a "mythicalLibrarian --doMaintenance" before running --doover. See if it catches Cops this time.

Thumbs up. Thanks!
Kvandesteeg, I've posted this at MythTVTalk.org http://www.mythtvtalk.com/os-x-python-bi...#post56552

Please PM me your google developer email so I can list you as a contributor.