• 1
  • 4
  • 5
  • 6(current)
  • 7
  • 8
Release myth2kodi -- generate Kodi friendly file-names from MythTV recordings.
#76
(2017-05-05, 03:50)mayaco Wrote: I am using the showTranslations file for Empire = Empire (2015). It is ignoring and still using "Empire". The file is in /home/mythtv/.mythtv/.myth2kodi/ ... is that where it needs to be? Same spot that mythicalLibrarian uses but doesn't seem to be working. The actual script exists in /usr/local/bin/myth2kodi.

The myth2kodi script specifies a working directory (m2kdir). This is where myth2kodi looks for the showTranslations file, it is also where logs are written and other information used by myth2kodi is stored. The default value is:
Code:
m2kdir="$HOME/.myth2kodi"
which when called by the mythtv user should resolve to:
Code:
/home/mythtv/.myth2kodi
However, you may have changed this if you installed using the install.sh script and specified a non-default value. You can check the current value by using:
Code:
grep '^m2kdir=' /usr/local/bin/myth2kodi
Reply
#77
(2017-05-05, 02:37)whysyn Wrote: Hi guys, this is exactly what I was looking for but I'm very new to MythTV and I'm not sure I'm getting things plugged in correctly.

I installed the script as my myth user and it runs OK by hand.

I went into MythTV settings, general, and set "Allow User Job #1 jobs" enabled in the 8th screen, then set in the 10th screen:
Code:
/usr/local/bin/myth2kodi "%DIR%/%FILE%"

When a scheduled recording happens it doesn't even seem to try running. Here's a mythbackend log excerpt: https://paste.ubuntu.com/24514141/
Two possibilities I can think of:
1) When you scheduled the recording, did you tick the box that tells mythbackend to run the myth2kodi user job on completion of the recording? If you use mythweb you could try going to the page for a recording and clicking the button to run myth2kodi on that recording. If that works then it means you just didn't specify that the myth2kodi user job should run as part of the recording schedule.
2) If you can't run myth2kodi on a recording through mythweb then it could be a permission issue. Are you certain that the user running mythbackend is the same user that you are using at the command line? When you call user jobs from MythTV they run as the user running the mythbackend

(2017-05-05, 02:37)whysyn Wrote: I have a minor, secondary issue as well. The files moved by the myth2kodi script are mode 644. My kodi install (which runs over the network and accesses the share with a different username) is unable to delete files when I'm done watching them.
The permissions are set that way intentionally. If you are using a default configuration, then the recordings processed by myth2kodi are still connected to MythTV. If you just manually delete the processed recording file (with Kodi or any other mechanism that is unaware of MythTV) then your MythTV database will contain a reference to a recording that no longer exists -- you don't want this to happen.

There are two approaches you could take, either: 1) use a MythTV aware delete; or 2) configure myth2kodi to disconnect successfully processed recordings from MythTV.
For 1) you can use either mythweb as a GUI option or at a command line use myth2kodi --delete.
For 2) one approach would be to set SYMLINK='Disabled' in your myth2kodi.conf file. This has the side effect of disconnecting the recording from MythTV and expanding the permission of the processed recording file to 664, which should be sufficient to allow Kodi to delete it. NOTE: Once a recording is disconnected from MythTV the myth2kodi processing can no longer be undone as the information about the recording has been delete from your MythTV-DB.

If you always delete your recordings after watching them, that is you have no interest in building up a library of your recordings, then the functionality of the MythTV PVR addon for Kodi might be sufficient for what you are trying to achieve.
Reply
#78
(2017-05-05, 06:38)stuartk Wrote: Two possibilities I can think of:
1) When you scheduled the recording, did you tick the box that tells mythbackend to run the myth2kodi user job on completion of the recording?
I installed mythweb and checked the recording history, you nailed that one. I use the MythTV PVR plugin for Kodi and don't see an option in there to enable userjobs on a recording. Is it something I'm missing or maybe something the plugin is missing?

As for the file permissions that makes perfect sense. I think I'll go the route of disabling symlinks. I do archive certain things, but in a lot of cases I just want to watch it once. It's also very nice to have the option to easily delete within the Kodi interface, especially for some of the less technical users in the household.

Thank you. Again, this script is exactly what I was looking for!
Reply
#79
(2017-05-05, 02:37)whysyn Wrote: I installed the script as my myth user and it runs OK by hand.

I went into MythTV settings, general, and set "Allow User Job #1 jobs" enabled in the 8th screen, then set in the 10th screen:
Code:
/usr/local/bin/myth2kodi "%DIR%/%FILE%"

When a scheduled recording happens it doesn't even seem to try running.
To me, this sounds like the mythtv user doesn't have proper permission. Maybe try running `sudo -u mythtv /usr/local/bin/myth2kodi --diagnostics` to see what mythtv user encounters.

Quote:I have a minor, secondary issue as well. The files moved by the myth2kodi script are mode 644. My kodi install (which runs over the network and accesses the share with a different username) is unable to delete files when I'm done watching them.
My setup is similar -- kodi accesses the network share with its own username. I just have kodi's user as a member of the group that owns the files on that share and that the group has read/write access [ chmod -R g+rw /files/TV\ Shows/, for example ]. (In my case with a mythbuntu install, that's group "mythtv".)

EDIT: Oops, I didn't see Stuart's replies on the next page Smile Ignore this post if you like.
Reply
#80
(2017-05-05, 04:40)stuartk Wrote:
(2017-05-05, 03:50)mayaco Wrote: I am using the showTranslations file for Empire = Empire (2015). It is ignoring and still using "Empire". The file is in /home/mythtv/.mythtv/.myth2kodi/ ... is that where it needs to be? Same spot that mythicalLibrarian uses but doesn't seem to be working. The actual script exists in /usr/local/bin/myth2kodi.

The myth2kodi script specifies a working directory (m2kdir). This is where myth2kodi looks for the showTranslations file, it is also where logs are written and other information used by myth2kodi is stored. The default value is:
Code:
m2kdir="$HOME/.myth2kodi"
which when called by the mythtv user should resolve to:
Code:
/home/mythtv/.myth2kodi
However, you may have changed this if you installed using the install.sh script and specified a non-default value. You can check the current value by using:
Code:
grep '^m2kdir=' /usr/local/bin/myth2kodi

I have the file located at "/home/mythtv/.myth2kodi/showTranslations". It seems to be running okay except that it does not add the season and episode correctly.
Here is the contents
Quote:##############################################################

#My Guide Show Title = www.TheTvDb.com Show Title #
#Battlestar Gallactica = Battlestar Gallactica (2003) #
#The Office = The Office (US) #
#Millionaire = Who Wants To Be A Millionaire #
#Aqua teen Hungerforce = Aqua Teen Hunger Force #
Reckless = Reckless (2014)
How to Get Away With Murder = How to Get Away with Murder
Empire = Empire (2015)
The Odd Couple = The Odd Couple (2015)
Teachers = Teachers (2016)
Timeless = Timeless (2016)
Conviction = Conviction (2016)
The Flash = The Flash (2014)
MasterChef = MasterChef Junior

##############################################################

It was recently run against the latest Flash and did indeed put it in the correct folder "The Flash (2014)" however the season and episode are incorrect. Interesting thing is that it does put the correct episode title. "The Flash (2014) S00E00 (Cause and Effect)" This has happened on more than one recording (Empire).
Reply
#81
(2017-05-11, 00:06)mayaco Wrote: It was recently run against the latest Flash and did indeed put it in the correct folder "The Flash (2014)" however the season and episode are incorrect. Interesting thing is that it does put the correct episode title. "The Flash (2014) S00E00 (Cause and Effect)" This has happened on more than one recording (Empire).

Your showTranslations file seems fine, but it just determines which series myth2kodi should match against.

I'm not sure how you are ending up with the season and episode problem as I can't reproduce the error. Using your showTranslations file I ran myth2kodi against a dummy recording file, providing 'The Flash' 'Cause and Effect' at the command line, it processed the recording correctly ('The Flash (2014)/Season 3/The Flash (2014) S03E21 (Cause and Effect).mpg'). Whatever is going wrong, it must be something specific to your system/set-up.

So, I'll need more information from you to identify the problem. Could you post the log for the processing of a recording that fails in this way? Ideally with debug level logging, that is, set:
Code:
LOGLEVEL=3
in your configuration file. Provided your configuration doesn't disconnect the recording, you can use myth2kodi's --undo flag to undo the processing of the "Cause and Effect" recording (as you know that has the issue), then just reprocess it and post the log for that processing.
Reply
#82
(2017-05-06, 01:54)whysyn Wrote: I installed mythweb and checked the recording history, you nailed that one. I use the MythTV PVR plugin for Kodi and don't see an option in there to enable userjobs on a recording. Is it something I'm missing or maybe something the plugin is missing?

...

Thank you. Again, this script is exactly what I was looking for!

No, my apologies, it is not something you are missing, I think that was just bad wording on my part. I mainly think of the myth2kodi script as a way to generate a library, and because you wanted to delete after watching and mentioned being new to MythTV I was just suggesting that you might find the MythTV-PVR addon sufficient for your use case.

That being said, I'm glad to hear that you are happy with the script, positive feedback is always nice.
Reply
#83
(2017-05-11, 04:16)stuartk Wrote:
(2017-05-11, 00:06)mayaco Wrote: It was recently run against the latest Flash and did indeed put it in the correct folder "The Flash (2014)" however the season and episode are incorrect. Interesting thing is that it does put the correct episode title. "The Flash (2014) S00E00 (Cause and Effect)" This has happened on more than one recording (Empire).

Your showTranslations file seems fine, but it just determines which series myth2kodi should match against.

I'm not sure how you are ending up with the season and episode problem as I can't reproduce the error. Using your showTranslations file I ran myth2kodi against a dummy recording file, providing 'The Flash' 'Cause and Effect' at the command line, it processed the recording correctly ('The Flash (2014)/Season 3/The Flash (2014) S03E21 (Cause and Effect).mpg'). Whatever is going wrong, it must be something specific to your system/set-up.

So, I'll need more information from you to identify the problem. Could you post the log for the processing of a recording that fails in this way? Ideally with debug level logging, that is, set:
Code:
LOGLEVEL=3
in your configuration file. Provided your configuration doesn't disconnect the recording, you can use myth2kodi's --undo flag to undo the processing of the "Cause and Effect" recording (as you know that has the issue), then just reprocess it and post the log for that processing.

It seems as if all my shows, regardless are coming back with S00E00 even when the season exists on TVDB. Here is the log for one.

Code:
[2017-05-31T20:03:08] DEBUG: ENTERING: download_series_identification() ; CALLED FROM: main()
[2017-05-31T20:03:08] INFO: SEARCHING www.TheTVDB.com FOR MasterChef
[2017-05-31T20:03:08] DEBUG: Created a temporary zap2it file: '/tmp/m2k_zap2it_2017-05-31T200303-J8SK'
[2017-05-31T20:03:08] DEBUG: Not removing the temporary working file: '/tmp/m2k_working_2017-05-31T200303-2XDi'
[2017-05-31T20:03:09] DEBUG: ENTERING: get_serieslinenumber_zap2itid() ; CALLED FROM: main()
[2017-05-31T20:03:09] DEBUG: TESTING FOR ZAP2ITID MATCH:EP01251347 MasterChef
[2017-05-31T20:03:09] INFO: Found ZAP2ITID match: EP01251347 MasterChef
[2017-05-31T20:03:09] INFO: MATCH FOUND BASED ON Zap2itID:
[2017-05-31T20:03:09] DEBUG: ENTERING: set_seriesid_newshowname_from_serieslinenumber() ; CALLED FROM: main()
[2017-05-31T20:03:09] INFO: FOUND:MasterChef ID#:84489 WITH CONFIDENCE:1
[2017-05-31T20:03:09] DEBUG: ENTERING: make_m2k_database_dir() ; CALLED FROM: main()
[2017-05-31T20:03:09] DEBUG: ENTERING: check_m2k_database_up_to_date() ; CALLED FROM: main()
[2017-05-31T20:03:09] WARNING: check_m2k_database_up_to_date(): Bypassing TheTVDB LastUpdated checks... Forcing update. See #TODO: Line 2715
[2017-05-31T20:03:09] DEBUG: ENTERING: download_series_info() ; CALLED FROM: main()
[2017-05-31T20:03:09] INFO: Downloading Series: '84489'
[2017-05-31T20:03:10] DEBUG: Found matching tvmaze id: '7186'
[2017-05-31T20:03:10] DEBUG: Getting new tvmaze show info from: 'http://api.tvmaze.com/shows/7186/episodes'
[2017-05-31T20:03:10] INFO: TheTVDB information for MasterChef has not changed since last download.
[2017-05-31T20:03:10] INFO: Processing SeriesID:84489
[2017-05-31T20:03:10] DEBUG: ENTERING: set_absolute_episode_number_by_airdate() ; CALLED FROM: main()
[2017-05-31T20:03:10] WARNING: AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
[2017-05-31T20:03:10] DEBUG: ENTERING: set_absolute_episode_number_by_ename() ; CALLED FROM: main()
[2017-05-31T20:03:10] WARNING: AIRDATE/STANDARD LOGIC FAILED. FUZZY LOGIC ABSOLUTE: . Requiring doover.
[2017-05-31T20:03:10] DEBUG: ENTERING: set_absolute_episode_number_by_ename_fuzzy() ; CALLED FROM: main()
       AbsoluteEpisodeNumber guesses: .
       Cost: .
       NewShowName: 'MasterChef'
[2017-05-31T20:03:11] DEBUG: ENTERING: multi_match_check() ; CALLED FROM: set_absolute_episode_number_by_ename_fuzzy()
       There are 0 AENguesses: .
[2017-05-31T20:03:11] ERROR: set_absolute_episode_number_by_ename_fuzzy():multi_match_check(): Something unexpected went wrong.
       Maybe called with empty AENguess. Or accessing Season and Episode numbers failed.
       There are 0 AENguesses: .
       Season number file:  '/home/mythtv/.myth2kodi/MasterChef/MasterChef.S.txt'
       Episode number file: '/home/mythtv/.myth2kodi/MasterChef/MasterChef.E.txt'
[2017-05-31T20:03:11] DEBUG: ENTERING: increment_total_matches() ; CALLED FROM: main()
[2017-05-31T20:03:11] DEBUG: TOTAL FUZZY LOGIC MATCHES:'59'
[2017-05-31T20:03:11] DEBUG: TOTAL VERIFIED FUZZY ERRORS:'50'
[2017-05-31T20:03:11] INFO: Using episode number: 'S00E00', extracted from the MythTV-DB.
[2017-05-31T20:03:11] DEBUG: PlotMatchFallback is Enabled
[2017-05-31T20:03:11] DEBUG: ENTERING: check_filesystem() ; CALLED FROM: main()
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '207912'
       arg 3 = '/mnt/Storage/DVR/TV'
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '0'
       arg 3 = '/home/mythtv/recordedTV'
[2017-05-31T20:03:11] ERROR: check_write(): FOLDER DOES NOT EXIST: '/home/mythtv/recordedTV'
[2017-05-31T20:03:11] INFO: QUICK FIX: mkdir '/home/mythtv/recordedTV'
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '207912'
       arg 3 = '/mnt/Storage/DVR/Movie'
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '0'
       arg 3 = '/home/mythtv/recordedMovies'
[2017-05-31T20:03:11] ERROR: check_write(): FOLDER DOES NOT EXIST: '/home/mythtv/recordedMovies'
[2017-05-31T20:03:11] INFO: QUICK FIX: mkdir '/home/mythtv/recordedMovies'
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '207912'
       arg 3 = '/mnt/Storage/DVR/Shows'
       Called with 3 arguments
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '6273'
       arg 2 = '0'
       arg 3 = '/home/mythtv/recordedShows'
[2017-05-31T20:03:11] ERROR: check_write(): FOLDER DOES NOT EXIST: '/home/mythtv/recordedShows'
[2017-05-31T20:03:11] INFO: QUICK FIX: mkdir '/home/mythtv/recordedShows'
       Called with 3 arguments
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '1'
       arg 2 = '268023'
       arg 3 = '/var/lib/mythtv/recordings'
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '5'
       arg 2 = '268023'
       arg 3 = '/home/mythtv/.myth2kodi'
[2017-05-31T20:03:11] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '5'
       arg 2 = '268023'
       arg 3 = '/tmp'
[2017-05-31T20:03:11] DEBUG: filesystem_write_state='3'
[2017-05-31T20:03:11] DEBUG: ENTERING: msg_operation_summary() ; CALLED FROM: main()
[2017-05-31T20:03:11] INFO: ################ OPERATION SUMMARY ################
      JOB: myth2kodi '/var/lib/mythtv/recordings/2026_20170601000000.ts' "" "" "" '' ''
       m2kVersion=myth2kodi Version 1.4.2-
      CALLER=mythtv-
       m2kdir=/home/mythtv/.myth2kodi-
       Timeout=50-
       APIkey=3B054E548E3F4FBE-
      PROCESS_RECORDING_MODE=MOVE-
      SYMLINK=Enabled-
      TargetPathIsInputPath=Disabled-
      FailSafeMode=Disabled-
       FailSafeDir=/home/mythtv/FailSafe-
       Notify=Disabled-
[2017-05-31T20:03:11] DEBUG: ENTERING: msg_dir_summary() ; CALLED FROM: msg_operation_summary()
      A summary table of writeable directories: 0='WRITEABLE' ; 1='NOT WRITEABLE'
      USER SETTING      |FLAG |Free Space  |Folder name
      m2kdir            |  0  |  268023 MB | /home/mythtv/.myth2kodi
      M2K_TMPDIR        |  0  |  268023 MB | /tmp
      originaldirname   |  0  |  268023 MB | /var/lib/mythtv/recordings
      MoveDir           |  0  |  207912 MB | /mnt/Storage/DVR/TV
      AlternateMoveDir  |  1  |       0 MB | /home/mythtv/recordedTV
      PrimaryMovieDir   |  0  |  207912 MB | /mnt/Storage/DVR/Movie
      AlternateMovieDir |  1  |       0 MB | /home/mythtv/recordedMovies
      PrimaryShowDir    |  0  |  207912 MB | /mnt/Storage/DVR/Shows
      AlternateShowDir  |  1  |       0 MB | /home/mythtv/recordedShows
      InputPath=/var/lib/mythtv/recordings/2026_20170601000000.ts-
      InputTitle=MasterChef-
      InputSubtitle=Battle for a White Apron, Pt. 1-
      InputSeasonNum=0-
      InputEpisodeNum=0-
      showtranslation=Inactive-
      ShowName=MasterChef-
       LastUpdatedTVDB=1495944138-
       CurrentTimeTVDB=1496277638-
      SeriesID=84489-
      NewShowName=MasterChef-
       AbsoluteEpisodeNumber=-
      EpisodeSubtitle=Battle for a White Apron, Pt. 1-
      HasSxxExx=1-
      Sxx=S00- Exx=E00-
      MoveFileSize=6273 MB
      ConfidenceRating=-2-
      ConfidenceReasoning= Attempted Match On Zap2itID: Successful; Attempted match on OriginalAirDate: Failed; Attempted SubTitle match on Standard logic: Failed; Attempted SubTitle match on Fuzzy logic: Failed;-
       XMLTVGrabber=schedulesdirect1-
      ShowStartTime=2017-05-31 18:00:00-06:00-
       MovieAirDate=-
       OriginalAirDate=2017-05-31-
      ProgramID=EP012513470216-
       ChanID=2026-
      StorageGroup=Default-
      ShowCategory=Reality-
       GoForDoover=0-
      ProgramIDType=Series With Episode Data-
       rating=0-
      Zap2itSeriesID=1251347-
       LocalSeriesID=EP01251347-
      Plot=When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20.-
[2017-05-31T20:03:11] INFO: ################ END OF OPERATION SUMMARY ################
[2017-05-31T20:03:11] DEBUG: ENTERING: set_move_location() ; CALLED FROM: main()
[2017-05-31T20:03:11] DEBUG: ENTERING: set_show_file_name() ; CALLED FROM: main()
[2017-05-31T20:03:11] DEBUG: Naming as episode
[2017-05-31T20:03:12] INFO: Set file name as: MasterChef S00E00 (Battle for a White Apron, Pt. 1)
       NewShowName: 'MasterChef'
[2017-05-31T20:03:12] DEBUG: ENTERING: make_show_dir() ; CALLED FROM: main()
       MoveDir: '/mnt/Storage/DVR/TV'
       SeasonNumber: '0'
       Notify: 'Disabled'
       NotifyUserName: 'mythtv'
       FailSafeDir: '/home/mythtv/FailSafe'
[2017-05-31T20:03:12] INFO: MOVE DIRECTORY SET AS: '/mnt/Storage/DVR/TV/MasterChef/Season 0'
[2017-05-31T20:03:12] DEBUG: ENTERING: check_path_permission() ; CALLED FROM: main()
       path_to_check = '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       required_permission = 'rw'
[2017-05-31T20:03:12] DEBUG: Checking 'rw' permissions for: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-05-31T20:03:12] DEBUG: Good start: 'mythtv' owns it.
[2017-05-31T20:03:12] DEBUG: Permissions ok for: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-05-31T20:03:12] DEBUG: MOVING FILE: '/var/lib/mythtv/recordings/2026_20170601000000.ts' to '/mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts'
[2017-05-31T20:05:03] INFO: Creating symlink in move mode.
[2017-05-31T20:05:03] DEBUG: ENTERING: success_postprocessing() ; CALLED FROM: main()
[2017-05-31T20:05:03] DEBUG: ENTERING: kodi_newshow() ; CALLED FROM: success_postprocessing()
       m2kScanMode: ''
       KODINotify: 'Enabled'
       KODIUpdate: 'Enabled'
       KODIIPs: 127.0.0.1:8080 ;.
       ShowName: 'MasterChef'
[2017-05-31T20:05:03] INFO: Sending GUI.ShowNotification request to: 127.0.0.1:8080
[2017-05-31T20:05:03] DEBUG: SENT: GUI.ShowNotification for 'MasterChef'
[2017-05-31T20:05:03] INFO: Sending VideoLibrary.Scan request to: 127.0.0.1:8080
[2017-05-31T20:05:03] DEBUG: SENT: VideoLibrary.Scan request.
       m2kdir: '/home/mythtv/.myth2kodi'
[2017-05-31T20:05:03] DEBUG: ENTERING: add_undo() ; CALLED FROM: success_postprocessing()
       InputPath: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       MoveDir: '/mnt/Storage/DVR/TV/MasterChef/Season 0'
       ShowFileName: 'MasterChef S00E00 (Battle for a White Apron, Pt. 1)'
       OriginalExt: 'ts'
       PROCESS_RECORDING_MODE: 'MOVE'
       SYMLINK: 'Enabled'
[2017-05-31T20:05:03] DEBUG: ENTERING: add_doover() ; CALLED FROM: success_postprocessing()
       M2KARG1: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       M2KARG2: ''
       M2KARG3: ''
       M2KARG4: ''
       M2KARG5: ''
       M2KARG6: ''
       m2kdir: '/home/mythtv/.myth2kodi'
       InputPath: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       MoveDir: '/mnt/Storage/DVR/TV/MasterChef/Season 0'
       ShowFileName: 'MasterChef S00E00 (Battle for a White Apron, Pt. 1)'
       OriginalExt: 'ts'
       RequiresDoover: '1'
       PROCESS_RECORDING_MODE: 'MOVE'
       SYMLINK: 'Enabled'
[2017-05-31T20:05:03] INFO: Writing job to doover queue: /home/mythtv/.myth2kodi/doover.sh
[2017-05-31T20:05:03] DEBUG: ENTERING: dailyreport() ; CALLED FROM: success_postprocessing()
[2017-05-31T20:05:03] DEBUG: Writing to DailyReport file: 2017-05-31
[2017-05-31T20:05:03] DEBUG: ENTERING: generaterss() ; CALLED FROM: success_postprocessing()
[2017-05-31T20:05:03] ERROR: generaterss(): RSS generation failed: File exists but is not writeable: /var/www/myth2kodi-rss/rss.xml
[2017-05-31T20:05:04] DEBUG: ENTERING: msg_completed_move() ; CALLED FROM: main()
[2017-05-31T20:05:04] INFO: Move completed.
      Moved: /var/lib/mythtv/recordings/2026_20170601000000.ts
      To: /mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts
      Added symbolic link from: /var/lib/mythtv/recordings/2026_20170601000000.ts
      To: /mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts
[2017-05-31T20:05:04] DEBUG: ENTERING: exit_job() ; CALLED FROM: main()
       Called with 1 arguments
       arg 1 = 'MoveModeSuccessful'
[2017-05-31T20:05:04] INFO: SUCCESSFUL COMPLETION TYPE: MoveModeSuccessful
@@@@ COMPLETE: 2017-05-31 20:05:04-05:00 @@@@
[2017-05-31T20:05:04] DEBUG: Either: Notify=Disabled; scan mode; recording is in an ignore list; or NOTIFY_MSG was not set.
[2017-06-01T16:19:10] DEBUG: ENTERING: log_rotation() ; CALLED FROM: m2k_init()
[2017-06-01T16:19:10] DEBUG: LOGFILE=/home/mythtv/.myth2kodi/myth2kodi.log-
[2017-06-01T16:19:10] DEBUG: LOGLEVEL=3-
[2017-06-01T16:19:10] DEBUG: LOGTYPE=filestderr-
[2017-06-01T16:19:10] DEBUG: ENTERING: validate_settings() ; CALLED FROM: m2k_init()
[2017-06-01T16:19:10] ERROR: 'AlternateMoveDir' is not a directory: /home/mythtv/recordedTV
[2017-06-01T16:19:10] ERROR: 'AlternateMovieDir' is not a directory: /home/mythtv/recordedMovies
[2017-06-01T16:19:10] ERROR: 'AlternateShowDir' is not a directory: /home/mythtv/recordedShows
[2017-06-01T16:19:10] ERROR: 'FailSafeDir' is not a directory: /home/mythtv/FailSafe
[2017-06-01T16:19:11] DEBUG: myth2kodi script initialisation complete.
[2017-06-01T16:19:11] DEBUG: Running myth2kodi as 'mythtv'
[2017-06-01T16:19:11] DEBUG: ENTERING: validate_args() ; CALLED FROM: main()
       myth2kodi '/var/lib/mythtv/recordings/2026_20170601000000.ts' "" "" "" '' ''
[2017-06-01T16:19:11] DEBUG: Called with 1 arguments. Called as:
[2017-06-01T16:19:11] DEBUG: ENTERING: pre_process_check() ; CALLED FROM: validate_args()
       arg1: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-06-01T16:19:11] DEBUG: Looks ok, file_path is named like a MythTV recording: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-06-01T16:19:11] ERROR: pre_process_check() CALLED FROM: validate_args(): We've already processed this recording: /var/lib/mythtv/recordings/2026_20170601000000.ts => /mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts
[2017-06-01T16:19:11] DEBUG: ENTERING: exit_job() ; CALLED FROM: main()
       Called with 1 arguments
       arg 1 = 'RecordingAlreadyProcessed'
[2017-06-01T16:19:11] WARNING: THE PROVIDED RECORDING HAS ALREADY BEEN PROCESSED, ABORTING.
[2017-06-01T16:19:11] DEBUG: Either: Notify=Disabled; scan mode; recording is in an ignore list; or NOTIFY_MSG was not set.
[2017-06-01T16:33:15] DEBUG: ENTERING: log_rotation() ; CALLED FROM: m2k_init()
[2017-06-01T16:33:16] DEBUG: LOGFILE=/home/mythtv/.myth2kodi/myth2kodi.log-
[2017-06-01T16:33:16] DEBUG: LOGLEVEL=3-
[2017-06-01T16:33:16] DEBUG: LOGTYPE=filestderr-
[2017-06-01T16:33:16] ERROR: 'AlternateMoveDir' is not a directory: /home/mythtv/recordedTV
[2017-06-01T16:33:16] DEBUG: ENTERING: validate_settings() ; CALLED FROM: m2k_init()
[2017-06-01T16:33:16] ERROR: 'AlternateMovieDir' is not a directory: /home/mythtv/recordedMovies
[2017-06-01T16:33:16] ERROR: 'AlternateShowDir' is not a directory: /home/mythtv/recordedShows
[2017-06-01T16:33:16] ERROR: 'FailSafeDir' is not a directory: /home/mythtv/FailSafe
[2017-06-01T16:33:16] DEBUG: myth2kodi script initialisation complete.
[2017-06-01T16:33:16] DEBUG: Running myth2kodi as 'mythtv'
[2017-06-01T16:33:16] DEBUG: ENTERING: validate_args() ; CALLED FROM: main()
       myth2kodi '/var/lib/mythtv/recordings/2026_20170601000000.ts' "" "" "" '' ''
[2017-06-01T16:33:16] DEBUG: Called with 1 arguments. Called as:
       arg1: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-06-01T16:33:16] DEBUG: ENTERING: pre_process_check() ; CALLED FROM: validate_args()
[2017-06-01T16:33:16] DEBUG: Looks ok, file_path is named like a MythTV recording: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
ERROR: pre_process_check(): Line 1205: find: ‘/home/mythtv/recordedTV’: No such file or directory
ERROR: pre_process_check(): Line 1205: find: ‘/home/mythtv/recordedMovies’: No such file or directory
ERROR: pre_process_check(): Line 1205: find: ‘/home/mythtv/recordedShows’: No such file or directory
[2017-06-01T16:33:16] DEBUG: Arguments seem valid.
@@@@ PROCESSING RECORDING: 2017-06-01 16:33:16-05:00 @@@@
myth2kodi Version 1.4.2 on Linux
[2017-06-01T16:33:16] DEBUG: No command flag set. Processing as recording.
[2017-06-01T16:33:16] INFO: Processing: /var/lib/mythtv/recordings/2026_20170601000000.ts
[2017-06-01T16:33:16] DEBUG: ENTERING: process_mythtvdb() ; CALLED FROM: main()
[2017-06-01T16:33:16] DEBUG: ENTERING: get_mythtvdb_info() ; CALLED FROM: process_mythtvdb()
       m2kdir: '/home/mythtv/.myth2kodi'
       binpath: '/usr/local/bin'
       InputFileBasename: '2026_20170601000000.ts'
[2017-06-01T16:33:16] DEBUG: ENTERING: get_mythtvdb_info_pythonbindings() ; CALLED FROM: get_mythtvdb_info()
       DBPin: '0000'
       DBHostName: '192.168.3.110'
       MySQLMythDb: 'mythconverg'
       MySQLuser: 'mythtv'
       MySQLpass: '5U5esKHy'
       InputTitle: ''
       InputSubtitle: ''
       InputSeasonNum: ''
       InputEpisodeNum: ''
[2017-06-01T16:33:16] INFO: Accessing MythTV DataBase Using PythonBindings:
[2017-06-01T16:33:16] INFO: Attempting to pull database information on '2026_20170601000000.ts'
[2017-06-01T16:33:17] DEBUG: Storing MythTV-DB info in temporary file: '/tmp/m2k_recinfo_2017-06-01T163315-SPIb'
mythdb_access: DEBUG:__main__:Establishing database connection
mythdb_access: WARNING:__main__:No comskip information found.
mythdb_access: DEBUG:__main__:Attempting to write data to file: /tmp/m2k_recinfo_2017-06-01T163315-SPIb
mythdb_access: DEBUG:__main__:Calling write_data()
mythdb_access: DEBUG:__main__:Operation complete.
mythdb_access: DEBUG:__main__:Closing out the file/stdout
[2017-06-01T16:33:17] DEBUG: Guide data as extracted by: get_mythtvdb_info_pythonbindings()
       chanid='2026'
       starttime='2017-05-31 18:00:00-06:00'
       endtime='2017-05-31 19:00:00-06:00'
       title='MasterChef'
       subtitle='Battle for a White Apron, Pt. 1'
       description='When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20.'
       season='0'
       episode='0'
       category='Reality'
       hostname='Maidlow-Myth'
       bookmark='0'
       editing='0'
       cutlist='0'
       autoexpire='0'
       commflagged='0'
       recgroup='Default'
       recordid='38'
       seriesid='EP01251347'
       programid='EP012513470216'
       inetref='ttvdb.py_84489'
       lastmodified='2017-05-31 14:00:00-06:00'
       filesize='6578343720'
       stars='0.0'
       previouslyshown='0'
       originalairdate='2017-05-31'
       preserve='0'
       findid='0'
       deletepending='0'
       transcoder='0'
       timestretch='1.0'
       recpriority='0'
       basename='2026_20170601000000.ts'
       progstart='2017-05-31 18:00:00-06:00'
       progend='2017-05-31 19:00:00-06:00'
       playgroup='Default'
       profile='Default'
       duplicate='1'
       transcoded='0'
       watched='0'
       storagegroup='Default'
       bookmarkupdate='None'
       recgroupid='1'
       recordedid='181'
       inputname='HD-1'
       xmltvgrabber='schedulesdirect1'
[2017-06-01T16:33:18] DEBUG: Setting the following variables based on MythTV-DB guide data:
       InputTitle='MasterChef'
       InputSubtitle='Battle for a White Apron, Pt. 1'
       InputSeasonNum='0'
       InputEpisodeNum='0'
       ShowCategory='Reality'
       MovieAirDate=''
       OriginalAirDate='2017-05-31'
       StorageGroup='Default'
       Stars='0.0'
       Plot='When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20.'
       LocalSeriesID='EP01251347'
       ProgramID='EP012513470216'
       ChanID='2026'
       ShowStartTime='2017-05-31 18:00:00-06:00'
       XMLTVGrabber='schedulesdirect1'
[2017-06-01T16:33:18] DEBUG: Not removing the temporary MythTV-DB info file: '/tmp/m2k_recinfo_2017-06-01T163315-SPIb'
[2017-06-01T16:33:18] DEBUG: ENTERING: process_mythtvdb_schedulesdirect() ; CALLED FROM: process_mythtvdb()
[2017-06-01T16:33:18] INFO: Processing MythTV database info as SchedulesDirect.
       RECSTART:'2017-05-31 18:00:00-06:00'
       DATE:'' '2017-05-31'
[2017-06-01T16:33:18] DEBUG: Input and MythTV-DB guide data for 2026_20170601000000.ts
       PROGRAMID:'EP012513470216'
       ShowCategory:'Reality'
       InputTitle:'MasterChef'
       InputSubtitle:'Battle for a White Apron, Pt. 1'
       InputSeasonNum:'0'
       InputEpisodeNum:'0'
       Plot: "When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20."
       InputSeasonNum='0'
       InputEpisodeNum='0'
[2017-06-01T16:33:18] DEBUG: ENTERING: set_sxxexx_season_episode_numbers() ; CALLED FROM: main()
       SeasonEpisode=''
[2017-06-01T16:33:18] DEBUG: Using season & episode information from MythTV-DB or command-line.
[2017-06-01T16:33:19] INFO: Found Season (S00) & Episode (E00) information.
[2017-06-01T16:33:19] DEBUG: ENTERING: show_translation() ; CALLED FROM: main()
[2017-06-01T16:33:19] DEBUG: ENTERING: process_ignore_lists() ; CALLED FROM: main()
[2017-06-01T16:33:19] DEBUG: ENTERING: periodic_maintenace() ; CALLED FROM: main()
[2017-06-01T16:33:19] DEBUG: ENTERING: download_series_identification() ; CALLED FROM: main()
[2017-06-01T16:33:19] INFO: SEARCHING www.TheTVDB.com FOR MasterChef
[2017-06-01T16:33:20] DEBUG: Created a temporary zap2it file: '/tmp/m2k_zap2it_2017-06-01T163315-WXTI'
[2017-06-01T16:33:20] DEBUG: Not removing the temporary working file: '/tmp/m2k_working_2017-06-01T163315-y2jP'
[2017-06-01T16:33:20] DEBUG: ENTERING: get_serieslinenumber_zap2itid() ; CALLED FROM: main()
[2017-06-01T16:33:20] DEBUG: TESTING FOR ZAP2ITID MATCH:EP01251347 MasterChef
[2017-06-01T16:33:20] INFO: Found ZAP2ITID match: EP01251347 MasterChef
[2017-06-01T16:33:20] INFO: MATCH FOUND BASED ON Zap2itID:
[2017-06-01T16:33:20] DEBUG: ENTERING: set_seriesid_newshowname_from_serieslinenumber() ; CALLED FROM: main()
[2017-06-01T16:33:20] INFO: FOUND:MasterChef ID#:84489 WITH CONFIDENCE:1
[2017-06-01T16:33:20] DEBUG: ENTERING: make_m2k_database_dir() ; CALLED FROM: main()
[2017-06-01T16:33:20] DEBUG: ENTERING: check_m2k_database_up_to_date() ; CALLED FROM: main()
[2017-06-01T16:33:20] INFO: DATABASE MAINTAINED. Current: 1496351290. Next update: 1496543910.
[2017-06-01T16:33:20] INFO: Processing SeriesID:84489
[2017-06-01T16:33:20] DEBUG: ENTERING: set_absolute_episode_number_by_airdate() ; CALLED FROM: main()
[2017-06-01T16:33:20] WARNING: AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
[2017-06-01T16:33:20] DEBUG: ENTERING: set_absolute_episode_number_by_ename() ; CALLED FROM: main()
[2017-06-01T16:33:20] WARNING: AIRDATE/STANDARD LOGIC FAILED. FUZZY LOGIC ABSOLUTE: . Requiring doover.
[2017-06-01T16:33:20] DEBUG: ENTERING: set_absolute_episode_number_by_ename_fuzzy() ; CALLED FROM: main()
       AbsoluteEpisodeNumber guesses: .
       Cost: .
       NewShowName: 'MasterChef'
[2017-06-01T16:33:20] DEBUG: ENTERING: multi_match_check() ; CALLED FROM: set_absolute_episode_number_by_ename_fuzzy()
       There are 0 AENguesses: .
       Maybe called with empty AENguess. Or accessing Season and Episode numbers failed.
       There are 0 AENguesses: .
[2017-06-01T16:33:20] ERROR: set_absolute_episode_number_by_ename_fuzzy():multi_match_check(): Something unexpected went wrong.
       Season number file:  '/home/mythtv/.myth2kodi/MasterChef/MasterChef.S.txt'
       Episode number file: '/home/mythtv/.myth2kodi/MasterChef/MasterChef.E.txt'
[2017-06-01T16:33:20] DEBUG: ENTERING: increment_total_matches() ; CALLED FROM: main()
[2017-06-01T16:33:20] DEBUG: TOTAL FUZZY LOGIC MATCHES:'60'
[2017-06-01T16:33:20] DEBUG: TOTAL VERIFIED FUZZY ERRORS:'50'
[2017-06-01T16:33:20] INFO: Using episode number: 'S00E00', extracted from the MythTV-DB.
[2017-06-01T16:33:20] DEBUG: PlotMatchFallback is Enabled
[2017-06-01T16:33:21] DEBUG: ENTERING: check_filesystem() ; CALLED FROM: main()
       Called with 3 arguments
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '6273'
       arg 2 = '207912'
       arg 3 = '/mnt/Storage/DVR/TV'
       Called with 3 arguments
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '6273'
       arg 2 = '0'
       arg 3 = '/home/mythtv/recordedTV'
[2017-06-01T16:33:21] ERROR: check_write(): FOLDER DOES NOT EXIST: '/home/mythtv/recordedTV'
[2017-06-01T16:33:21] INFO: QUICK FIX: mkdir '/home/mythtv/recordedTV'
       Called with 3 arguments
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '6273'
       arg 2 = '207912'
       arg 3 = '/mnt/Storage/DVR/Movie'
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '0'
       arg 3 = '/home/mythtv/recordedMovies'
[2017-06-01T16:33:21] ERROR: check_write(): FOLDER DOES NOT EXIST: '/home/mythtv/recordedMovies'
[2017-06-01T16:33:21] INFO: QUICK FIX: mkdir '/home/mythtv/recordedMovies'
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '6273'
       arg 2 = '207912'
       arg 3 = '/mnt/Storage/DVR/Shows'
       Called with 3 arguments
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '6273'
       arg 2 = '0'
       arg 3 = '/home/mythtv/recordedShows'
[2017-06-01T16:33:21] ERROR: check_write(): FOLDER DOES NOT EXIST: '/home/mythtv/recordedShows'
[2017-06-01T16:33:21] INFO: QUICK FIX: mkdir '/home/mythtv/recordedShows'
       Called with 3 arguments
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '1'
       arg 2 = '268015'
       arg 3 = '/var/lib/mythtv/recordings'
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       Called with 3 arguments
       arg 1 = '5'
       arg 2 = '268015'
       arg 3 = '/home/mythtv/.myth2kodi'
       Called with 3 arguments
[2017-06-01T16:33:21] DEBUG: ENTERING: check_write() ; CALLED FROM: check_filesystem()
       arg 1 = '5'
       arg 2 = '268015'
       arg 3 = '/tmp'
[2017-06-01T16:33:21] DEBUG: filesystem_write_state='3'
[2017-06-01T16:33:21] DEBUG: ENTERING: msg_operation_summary() ; CALLED FROM: main()
      JOB: myth2kodi '/var/lib/mythtv/recordings/2026_20170601000000.ts' "" "" "" '' ''
[2017-06-01T16:33:21] INFO: ################ OPERATION SUMMARY ################
       m2kVersion=myth2kodi Version 1.4.2-
      CALLER=mythtv-
       m2kdir=/home/mythtv/.myth2kodi-
       Timeout=50-
       APIkey=3B054E548E3F4FBE-
      PROCESS_RECORDING_MODE=MOVE-
      SYMLINK=Enabled-
      TargetPathIsInputPath=Disabled-
      FailSafeMode=Disabled-
       FailSafeDir=/home/mythtv/FailSafe-
       Notify=Disabled-
      A summary table of writeable directories: 0='WRITEABLE' ; 1='NOT WRITEABLE'
      USER SETTING      |FLAG |Free Space  |Folder name
[2017-06-01T16:33:22] DEBUG: ENTERING: msg_dir_summary() ; CALLED FROM: msg_operation_summary()
      m2kdir            |  0  |  268015 MB | /home/mythtv/.myth2kodi
      M2K_TMPDIR        |  0  |  268015 MB | /tmp
      originaldirname   |  0  |  268015 MB | /var/lib/mythtv/recordings
      MoveDir           |  0  |  207912 MB | /mnt/Storage/DVR/TV
      AlternateMoveDir  |  1  |       0 MB | /home/mythtv/recordedTV
      PrimaryMovieDir   |  0  |  207912 MB | /mnt/Storage/DVR/Movie
      AlternateMovieDir |  1  |       0 MB | /home/mythtv/recordedMovies
      PrimaryShowDir    |  0  |  207912 MB | /mnt/Storage/DVR/Shows
      AlternateShowDir  |  1  |       0 MB | /home/mythtv/recordedShows
      InputPath=/var/lib/mythtv/recordings/2026_20170601000000.ts-
      InputTitle=MasterChef-
      InputSubtitle=Battle for a White Apron, Pt. 1-
      InputSeasonNum=0-
      InputEpisodeNum=0-
      showtranslation=Inactive-
      ShowName=MasterChef-
       LastUpdatedTVDB=1496278990-
       CurrentTimeTVDB=1496351290-
      SeriesID=84489-
      NewShowName=MasterChef-
       AbsoluteEpisodeNumber=-
      EpisodeSubtitle=Battle for a White Apron, Pt. 1-
      HasSxxExx=1-
      Sxx=S00- Exx=E00-
      MoveFileSize=6273 MB
      ConfidenceRating=-2-
      ConfidenceReasoning= Attempted Match On Zap2itID: Successful; Attempted match on OriginalAirDate: Failed; Attempted SubTitle match on Standard logic: Failed; Attempted SubTitle match on Fuzzy logic: Failed;-
       XMLTVGrabber=schedulesdirect1-
      ShowStartTime=2017-05-31 18:00:00-06:00-
       MovieAirDate=-
       OriginalAirDate=2017-05-31-
      ProgramID=EP012513470216-
       ChanID=2026-
      StorageGroup=Default-
      ShowCategory=Reality-
       GoForDoover=0-
      ProgramIDType=Series With Episode Data-
       rating=0-
      Zap2itSeriesID=1251347-
       LocalSeriesID=EP01251347-
      Plot=When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20.-
[2017-06-01T16:33:22] INFO: ################ END OF OPERATION SUMMARY ################
[2017-06-01T16:33:22] DEBUG: ENTERING: set_move_location() ; CALLED FROM: main()
[2017-06-01T16:33:22] DEBUG: ENTERING: set_show_file_name() ; CALLED FROM: main()
[2017-06-01T16:33:22] DEBUG: Naming as episode
[2017-06-01T16:33:22] INFO: Set file name as: MasterChef S00E00 (Battle for a White Apron, Pt. 1)
[2017-06-01T16:33:22] DEBUG: ENTERING: make_show_dir() ; CALLED FROM: main()
       NewShowName: 'MasterChef'
       MoveDir: '/mnt/Storage/DVR/TV'
       SeasonNumber: '0'
       Notify: 'Disabled'
       NotifyUserName: 'mythtv'
       FailSafeDir: '/home/mythtv/FailSafe'
[2017-06-01T16:33:22] INFO: MOVE DIRECTORY SET AS: '/mnt/Storage/DVR/TV/MasterChef/Season 0'
[2017-06-01T16:33:22] DEBUG: ENTERING: check_path_permission() ; CALLED FROM: main()
       path_to_check = '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       required_permission = 'rw'
[2017-06-01T16:33:22] DEBUG: Checking 'rw' permissions for: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-06-01T16:33:22] DEBUG: May be ok: 'mythtv' is at least a member of the same group.
       USER NAME:'mythtv' ATTEMPTED TO MODIFY A 'maidlow' OWNED FILE.
[2017-06-01T16:33:22] ERROR: check_path_permission() CALLED FROM: main(): Cannot write: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       To preserve file permissions this has been prevented.
[2017-06-01T16:33:22] DEBUG: MOVING FILE: '/var/lib/mythtv/recordings/2026_20170601000000.ts' to '/mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts'
[2017-06-01T16:35:24] INFO: Creating symlink in move mode.
[2017-06-01T16:35:24] DEBUG: ENTERING: success_postprocessing() ; CALLED FROM: main()
[2017-06-01T16:35:24] DEBUG: ENTERING: kodi_newshow() ; CALLED FROM: success_postprocessing()
       m2kScanMode: ''
       KODINotify: 'Enabled'
       KODIUpdate: 'Enabled'
       KODIIPs: 127.0.0.1:8080 ;.
       ShowName: 'MasterChef'
[2017-06-01T16:35:24] INFO: Sending GUI.ShowNotification request to: 127.0.0.1:8080
[2017-06-01T16:35:24] DEBUG: SENT: GUI.ShowNotification for 'MasterChef'
[2017-06-01T16:35:24] INFO: Sending VideoLibrary.Scan request to: 127.0.0.1:8080
[2017-06-01T16:35:24] DEBUG: SENT: VideoLibrary.Scan request.
       m2kdir: '/home/mythtv/.myth2kodi'
[2017-06-01T16:35:24] DEBUG: ENTERING: add_undo() ; CALLED FROM: success_postprocessing()
       InputPath: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       MoveDir: '/mnt/Storage/DVR/TV/MasterChef/Season 0'
       ShowFileName: 'MasterChef S00E00 (Battle for a White Apron, Pt. 1)'
       OriginalExt: 'ts'
       PROCESS_RECORDING_MODE: 'MOVE'
       SYMLINK: 'Enabled'
       M2KARG1: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
[2017-06-01T16:35:24] DEBUG: ENTERING: add_doover() ; CALLED FROM: success_postprocessing()
       M2KARG2: ''
       M2KARG3: ''
       M2KARG4: ''
       M2KARG5: ''
       M2KARG6: ''
       m2kdir: '/home/mythtv/.myth2kodi'
       InputPath: '/var/lib/mythtv/recordings/2026_20170601000000.ts'
       MoveDir: '/mnt/Storage/DVR/TV/MasterChef/Season 0'
       ShowFileName: 'MasterChef S00E00 (Battle for a White Apron, Pt. 1)'
       OriginalExt: 'ts'
       RequiresDoover: '1'
       PROCESS_RECORDING_MODE: 'MOVE'
       SYMLINK: 'Enabled'
[2017-06-01T16:35:24] INFO: Writing job to doover queue: /home/mythtv/.myth2kodi/doover.sh
[2017-06-01T16:35:24] DEBUG: ENTERING: dailyreport() ; CALLED FROM: success_postprocessing()
[2017-06-01T16:35:24] DEBUG: Writing to DailyReport file: 2017-06-01
[2017-06-01T16:35:24] DEBUG: ENTERING: generaterss() ; CALLED FROM: success_postprocessing()
[2017-06-01T16:35:25] ERROR: generaterss(): RSS generation failed: File exists but is not writeable: /var/www/myth2kodi-rss/rss.xml
[2017-06-01T16:35:25] DEBUG: ENTERING: msg_completed_move() ; CALLED FROM: main()
[2017-06-01T16:35:25] INFO: Move completed.
      Moved: /var/lib/mythtv/recordings/2026_20170601000000.ts
      To: /mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts
      Added symbolic link from: /var/lib/mythtv/recordings/2026_20170601000000.ts
      To: /mnt/Storage/DVR/TV/MasterChef/Season 0/MasterChef S00E00 (Battle for a White Apron, Pt. 1).ts
       Called with 1 arguments
       arg 1 = 'MoveModeSuccessful'
[2017-06-01T16:35:25] DEBUG: ENTERING: exit_job() ; CALLED FROM: main()
[2017-06-01T16:35:25] INFO: SUCCESSFUL COMPLETION TYPE: MoveModeSuccessful
@@@@ COMPLETE: 2017-06-01 16:35:25-05:00 @@@@
[2017-06-01T16:35:25] DEBUG: Either: Notify=Disabled; scan mode; recording is in an ignore list; or NOTIFY_MSG was not set.
Reply
#84
(2017-06-01, 23:43)mayaco Wrote: It seems as if all my shows, regardless are coming back with S00E00 even when the season exists on TVDB. Here is the log for one.

Code:
...
[2017-06-01T16:33:16] INFO: Accessing MythTV DataBase Using PythonBindings:
[2017-06-01T16:33:16] INFO: Attempting to pull database information on '2026_20170601000000.ts'
...
[2017-06-01T16:33:17] DEBUG: Guide data as extracted by: get_mythtvdb_info_pythonbindings()
       chanid='2026'
       starttime='2017-05-31 18:00:00-06:00'
       endtime='2017-05-31 19:00:00-06:00'
       title='MasterChef'
       subtitle='Battle for a White Apron, Pt. 1'
       description='When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20.'
       season='0'
       episode='0'
...
[2017-06-01T16:33:18] DEBUG: Setting the following variables based on MythTV-DB guide data:
       InputTitle='MasterChef'
       InputSubtitle='Battle for a White Apron, Pt. 1'
       InputSeasonNum='0'
       InputEpisodeNum='0'
...
[2017-06-01T16:33:18] DEBUG: Using season & episode information from MythTV-DB or command-line.
[2017-06-01T16:33:19] INFO: Found Season (S00) & Episode (E00) information.
...

Ok, so that is the problem: Your guide-data is setting '0' for season and episode number in your MythTV-DB and that value is being used. The definition of the 'season' and 'episode' fields of a 'recorded' entry in the MythTV-DB specifies a default value of NULL (this is the value the fields should have when no data is available). I was aware that this issue existed for free-to-air guide-data in Australia, but I was not aware of it being a problem with SchedulesDirect guide-data. I've added a, temporary, quick-fix to the repo, so if you just copy the latest myth2kodi (1.4.2b) file from the repo then the S00E00 problem should go away. Let me know if it does not or you have any other issues.

The quick-fix is basically just to ignore season and episode numbers from SchedulesDirect when they are set to 0. This is not ideal, as season=0 is used to indicate "special" episodes and they will now have to fall back on other matching methods, but it isn't so bad as it is how SydFTA guide-data is currently processed and that works out ok. However, it is still a regression for users with guide-data that behaves correctly and so I will review the processing relating to 'season=0' before the next release.
Reply
#85
(2017-06-02, 10:26)stuartk Wrote:
(2017-06-01, 23:43)mayaco Wrote: It seems as if all my shows, regardless are coming back with S00E00 even when the season exists on TVDB. Here is the log for one.

Code:
...
[2017-06-01T16:33:16] INFO: Accessing MythTV DataBase Using PythonBindings:
[2017-06-01T16:33:16] INFO: Attempting to pull database information on '2026_20170601000000.ts'
...
[2017-06-01T16:33:17] DEBUG: Guide data as extracted by: get_mythtvdb_info_pythonbindings()
       chanid='2026'
       starttime='2017-05-31 18:00:00-06:00'
       endtime='2017-05-31 19:00:00-06:00'
       title='MasterChef'
       subtitle='Battle for a White Apron, Pt. 1'
       description='When America's best home cooks travel to Los Angeles to compete in a challenge, they will face off against each other in an attempt to earn a place in the top 20.'
       season='0'
       episode='0'
...
[2017-06-01T16:33:18] DEBUG: Setting the following variables based on MythTV-DB guide data:
       InputTitle='MasterChef'
       InputSubtitle='Battle for a White Apron, Pt. 1'
       InputSeasonNum='0'
       InputEpisodeNum='0'
...
[2017-06-01T16:33:18] DEBUG: Using season & episode information from MythTV-DB or command-line.
[2017-06-01T16:33:19] INFO: Found Season (S00) & Episode (E00) information.
...

Ok, so that is the problem: Your guide-data is setting '0' for season and episode number in your MythTV-DB and that value is being used. The definition of the 'season' and 'episode' fields of a 'recorded' entry in the MythTV-DB specifies a default value of NULL (this is the value the fields should have when no data is available). I was aware that this issue existed for free-to-air guide-data in Australia, but I was not aware of it being a problem with SchedulesDirect guide-data. I've added a, temporary, quick-fix to the repo, so if you just copy the latest myth2kodi (1.4.2b) file from the repo then the S00E00 problem should go away. Let me know if it does not or you have any other issues.

The quick-fix is basically just to ignore season and episode numbers from SchedulesDirect when they are set to 0. This is not ideal, as season=0 is used to indicate "special" episodes and they will now have to fall back on other matching methods, but it isn't so bad as it is how SydFTA guide-data is currently processed and that works out ok. However, it is still a regression for users with guide-data that behaves correctly and so I will review the processing relating to 'season=0' before the next release.

Sorry about the time. Just now able to get back to this. I have made numerous changes to that file to get it to work with what i need and don't really want to replace it. Can you give me a snippet of code to replace. If not, no biggie, I can compare and replace.

EDIT: Never mind...just realized there is a "User Settings" section that i can just replace.
Reply
#86
(2017-06-22, 17:38)mayaco Wrote: Sorry about the time. Just now able to get back to this. I have made numerous changes to that file to get it to work with what i need and don't really want to replace it. Can you give me a snippet of code to replace. If not, no biggie, I can compare and replace.

EDIT: Never mind...just realized there is a "User Settings" section that i can just replace.

Firstly, if by changes you just mean user settings then I'd strongly recommend using a configuration file (myth2kodi.conf) in myth2kodi's working directory, so that your settings survive an update. That way, when a new release is available with bug fixes, etc, you can easily update using the install script.

I'm in the middle of a major clean-up at the moment, so the current master is not well tested. So if you have or intend to grab an updated version from the repo, you are probably best with the "Quick-fix" commit I made shortly after your previous message, that is, this commit, which, as you can see is a fairly small change and corresponds to this version of the myth2kodi file.

If you happen to have already grabbed a more recent copy from master it would be interesting to know how it is working for you? (It will probably be a few weeks before I've finished making and have thoroughly tested the current clean-up and it is ready for a new release.)
Reply
#87
Hello.

I've just started trying out myth2kodi, and I seem to be running into some errors with series identification. Based on what I can tell from the logs, things start going wrong with a sed error. Here's the relevant chunk of the logs. See 2nd line.

Code:
DEBUG: ENTERING: process_ignore_lists() ; CALLED FROM: main()
sed: -e expression #1, char 26: Invalid range end
DEBUG: ENTERING: identify_series() ; CALLED FROM: main()
       RECORDING_TYPE='EP'
       ONLINE_LOOKUP='Enabled'
       TITLE=''
       Zap2itSeriesID='1906276'
DEBUG: ENTERING: have_series_info() ; CALLED FROM: identify_series()
       TITLE=''
INFO: No existing info for: ''
DEBUG: ENTERING: download_series_identification() ; CALLED FROM: identify_series()
INFO: SEARCHING: www.TheTVDB.com for ''
ERROR: download_series_identification(): An error was returned by TheTVDB.
       Check www.thetvdb.com for ''.
WARNING: TVDB_SERIESID could not be determined
WARNING: Low series-confidence-rating (-3), requiring doover.

I'm running on Ubuntu 16.04.

The entire log is below if it helps provide more context..


@Karellen- Log Removed

Thanks in advance for any help.
Reply
#88
@triminmotion

Please use a public pastebin site for logs.
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#89
(2017-08-06, 20:18)triminmotion Wrote: Hello.

I've just started trying out myth2kodi, and I seem to be running into some errors with series identification. Based on what I can tell from the logs, things start going wrong with a sed error. Here's the relevant chunk of the logs. See 2nd line.

Code:
DEBUG: ENTERING: process_ignore_lists() ; CALLED FROM: main()
sed: -e expression #1, char 26: Invalid range end
DEBUG: ENTERING: identify_series() ; CALLED FROM: main()
       RECORDING_TYPE='EP'
       ONLINE_LOOKUP='Enabled'
       TITLE=''
       Zap2itSeriesID='1906276'
DEBUG: ENTERING: have_series_info() ; CALLED FROM: identify_series()
       TITLE=''
INFO: No existing info for: ''
DEBUG: ENTERING: download_series_identification() ; CALLED FROM: identify_series()
INFO: SEARCHING: www.TheTVDB.com for ''
ERROR: download_series_identification(): An error was returned by TheTVDB.
       Check www.thetvdb.com for ''.
WARNING: TVDB_SERIESID could not be determined
WARNING: Low series-confidence-rating (-3), requiring doover.

I'm running on Ubuntu 16.04.

The entire log is below if it helps provide more context..

@Karellen- Log Removed

Thanks in advance for any help.

Firstly, from the snippet of log you posted you seem to be running a version taken directly from the repository rather than a release, so some info about what version of the script you are running would be helpful. Could you please provide, at least, the output of (with debugging Disabled):
Code:
myth2kodi --version
and, ideally, the exact git commit you have installed.

By the way, I expect to make a new release by the end of the week (doing some final testing and checking at the moment), so it may be worthwhile waiting for that before you proceed and then using the install script so that you get a release version rather than unstable development code.

As to the sed issue, while I can't reproduce your exact error, I did find a slight bug in the current development version of the script. So, if we are lucky the problem is just that Ubuntu sed fails more catastrophically for that bug than the sed on my system (which does not error but does allow a few more characters through than it should). To confirm this, could you please post the output from the following two commands:
Code:
sed -r "s/[^[:alnum:] &,.)(-:']//g" <<< "A Title: of-sorts & it's? + Garbage >^#@{}[42]A/B*C."

sed -r "s/[^[:alnum:] &,.)(:'-]//g" <<< "A Title: of-sorts & it's? + Garbage >^#@{}[42]A/B*C."
I'm hoping that the first will give the error you reported while the second will print:
Code:
A Title: of-sorts & it's  Garbage 42ABC.
with no error message.
Reply
#90
myth2kodi Version 1.5.0-beta7

You hoped correctly. Nice catch.

Code:
mythtv@mythtv:~$ sed -r "s/[^[:alnum:] &,.)(-:']//g" <<< "A Title: of-sorts & it's? + Garbage >^#@{}[42]A/B*C."
sed: -e expression #1, char 26: Invalid range end
mythtv@mythtv:~$ sed -r "s/[^[:alnum:] &,.)(:'-]//g" <<< "A Title: of-sorts & it's? + Garbage >^#@{}[42]A/B*C."
A Title: of-sorts & it's  Garbage 42ABC.
Reply
  • 1
  • 4
  • 5
  • 6(current)
  • 7
  • 8

Logout Mark Read Team Forum Stats Members Help
myth2kodi -- generate Kodi friendly file-names from MythTV recordings.2