Page 1 of 1

Repetitive error

PostPosted: Sun Aug 21, 2016 4:55 pm
by durosity
Hi

I've just tried using the plugin now I've actually got around to setting up my EyeTV system but I'm getting a repetitive error every 10 seconds:

Code: Select all
  EyeTV Debug                     runConcurrentThread initiated
  EyeTV Debug                     initiating dialog timer "Next program data check" on a 300 seconds pace
  EyeTV Debug                     time ellapsed for dialog timer "Next program data check"
  EyeTV Debug                     initiating dialog timer "Next program timer check" on a 3600 seconds pace
  EyeTV Debug                     time ellapsed for dialog timer "Next program timer check"
  EyeTV Debug                     going to call shell ps -awxc -opid,comm | grep 'EyeTV$'
  EyeTV Debug                     returned from shell: {u'ProcessID': u'78769'}
  EyeTV Debug                     going to call applescript (* Get EyeTV application data *)
        tell application "EyeTV"
            set saveTID to AppleScript's text item delimiters
            set AppleScript's text item delimiters to {"||"}
            with timeout of 2 seconds
                set thechannel to current channel
                set toreturn to {alert menu open as text, ¬
                    (name of (channels whose channel number = thechannel)) as text, ¬
                    is Turbo Hardware Plugged In as text, ¬
                    (is_compacting or is_exporting or is_recording or is_saving_clip_as_recording or playing) as text, ¬
                    is_compacting as text, ¬
                    is_exporting as text, ¬
                    is_recording as text, ¬
                    is_saving_clip_as_recording as text, ¬
                    playing as text, ¬
                    prepad time as string, ¬
                    postpad time as string, ¬
                    (((playback volume)*100) as integer) as text, ¬
                    volume muted as text, ¬
                    server mode as text}
                if is_recording then
                    set the end of toreturn to "recording"
                else if playing then
                    set the end of toreturn to "playing"
                else if (is_compacting or is_exporting or is_saving_clip_as_recording) then
                    set the end of toreturn to "paused"
                else
                    set the end of toreturn to "stopped"
                end if
                set toreturn to toreturn as text
           end timeout
           set AppleScript's text item delimiters to saveTID
        end tell
        return toreturn
  EyeTV Debug                     returned from applescript: {u'Status': u'stopped', u'PrepadTime': u'2', u'isTurboHardwareIn': u'False', u'isRecording': u'False', u'CurrentChannel': u'QVC', u'isMutedVolume': u'False', u'isCompacting': u'False', u'AlertMenu': u'False', u'isSavingClip': u'False', u'PlaybackVolume': u'100', u'isServerMode': u'False', u'isBusy': u'False', u'PostpadTime': u'2', u'isPlaying': u'False', u'isExporting': u'False'}
  EyeTV Debug                     "Server - EyeTV" input keys values : {u'Status': u'stopped', u'PrepadTime': u'2', u'isTurboHardwareIn': u'False', u'isRecording': u'False', u'isExporting': u'False', u'AlertMenu': u'False', u'isMutedVolume': u'False', u'PostpadTime': u'2', u'CurrentChannel': u'QVC', u'isSavingClip': u'False', u'PlaybackVolume': u'100', u'isServerMode': u'False', u'isBusy': u'False', u'isPlaying': u'False', u'isCompacting': u'False'}
  EyeTV Debug                     "Server - EyeTV" Status value : stopped == stopped
  EyeTV Debug                     "Server - EyeTV" PrepadTime value : 2 == 2
  EyeTV Debug                     "Server - EyeTV" isTurboHardwareIn value : False == False
  EyeTV Debug                     "Server - EyeTV" isRecording value : False == False
  EyeTV Debug                     "Server - EyeTV" isExporting value : False == False
  EyeTV Debug                     "Server - EyeTV" AlertMenu value : False == False
  EyeTV Debug                     "Server - EyeTV" isMutedVolume value : False == False
  EyeTV Debug                     "Server - EyeTV" PostpadTime value : 2 == 2
  EyeTV Debug                     "Server - EyeTV" CurrentChannel value : QVC == QVC
  EyeTV Debug                     "Server - EyeTV" isSavingClip value : False == False
  EyeTV Debug                     "Server - EyeTV" PlaybackVolume value : 100 == 100
  EyeTV Debug                     "Server - EyeTV" isServerMode value : False == False
  EyeTV Debug                     "Server - EyeTV" isBusy value : False == False
  EyeTV Debug                     "Server - EyeTV" isPlaying value : False == False
  EyeTV Debug                     "Server - EyeTV" isCompacting value : False == False
  EyeTV Debug                     "Server - EyeTV" updated keys values   : {}
  EyeTV Debug                     forced time ellapsed for dialog timer "Next program data check"
  EyeTV Debug                     time ellapsed for dialog timer "Next program data check"
  EyeTV Debug                     going to call applescript (* Find next program *)
        global theNextEyeTVProgramTime
        global theNextEyeTVProgram
        global theTime

        on run
            with timeout of 2 seconds
                tell application "EyeTV"
                    set theTime to (current date) + prepad time * 60 + 60
                    set theNextEyeTVProgram to (item 1 of (programs where (start time > theTime) and enabled = true))
                    set theNextEyeTVProgramTime to start time of theNextEyeTVProgram
                end tell
            end timeout
            loopme()
            set saveTID to AppleScript's text item delimiters
            set AppleScript's text item delimiters to {"||"}
            tell application "EyeTV"
                set thechannel to ((channel number) of theNextEyeTVProgram)
                set toreturn to {(unique ID of theNextEyeTVProgram) as string, ¬
                (title of theNextEyeTVProgram) as string, ¬
                (episode of theNextEyeTVProgram) as string, ¬
                (name of (channels whose channel number = thechannel)) as text, ¬
                (duration of theNextEyeTVProgram) as string, ¬
                (start time of theNextEyeTVProgram) as string, ¬
                my pydate(start time of theNextEyeTVProgram)} as text
            end tell
            set AppleScript's text item delimiters to saveTID
            return toreturn
        end run

        on loopme()
            with timeout of 2 seconds
                tell application "EyeTV"
                    try
                        set theNextEyeTVProgram to (item 1 of (programs where (start time > theTime) and (start time < theNextEyeTVProgramTime) and enabled = true))
                        set theNextEyeTVProgramTime to start time of theNextEyeTVProgram
                    on error
                        return
                    end try
                end tell
            end timeout
            return loopme()
        end loopme

        on pydate(mydate)
            return "" & (year of mydate) & ¬
            "-" & text -2 thru -1 of ("00" & ((month of mydate) as integer)) & ¬
            "-" & text -2 thru -1 of ("00" & (day of mydate)) & ¬
            " " & text -2 thru -1 of ("00" & (hours of mydate)) & ¬
            ":" & text -2 thru -1 of ("00" & (minutes of mydate)) & ¬
            ":" & text -2 thru -1 of ("00" & (seconds of mydate))
        end pydate
  EyeTV Debug                     warning: applescript (* Find next program *) following error filtered: 338:344: execution error: EyeTV got an error: (ID=-1708) (-1728)
  EyeTV Debug                     returned from applescript: {u'UniqueID': u''}
  EyeTV Debug                     "Server - EyeTV" input keys values : {u'UniqueID': u''}
  EyeTV Debug                     "Server - EyeTV" UniqueID value :  ==
  EyeTV Debug                     "Server - EyeTV" updated keys values   : {}
  EyeTV Debug                     Working on timer data
  EyeTV Error                     Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 171, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 6/Plugins/EyeTV.indigoPlugin/Contents/Server Plugin/interface.py", line 244, in updateNextProgramTimer
KeyError: u'Title'

  EyeTV Error                     plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)


It stops if I delete the device but then restarts as soon as it's created. The device status updates although most of the details are blank, but the CurrentChannel does get populated. As best I can tell it's throwing a wobbler when trying to parse the upcoming programme information but that's just an educated guess.. and well beyond my abilities to correct.