This falls under the same category as the Record() API call. The call returns an obfuscated Sage object on success, which can't be transmitted via the remote APIs. You should notice that the API call is actually working even though it's throwing an exception. For now, the work around is to simply catch the exception and ignore it. Sean will be providing a fix in the remote APIs that will suppress the exception by simply returning a (useless) string value when these API calls [Record(), SetRecordingTimes(), possibly others] are used. To tell which ones are affected by this issue, look at the Sage API docs and any API call that returns a java.lang.Object will fall into this category.
Side note, if you're actually passing the long vars with the 'L' notation appended then don't, just pass the arg as a regular python number. If you're constructing the call and using EvaluateExpression() as the Sage API call then to pass a long use java_lang_Long_parseLong("123456789"):
# Assuming airing is a python var holding a Boxee ListItem wrapped Sage Airing object
sageAPI.EvaluateExpression('SetRecordingTimes(GetAiringForID(%s), java_lang_Long_parseLong("1234567788"), java_lang_Long_parseLong("1234567678")') % airing.GetProperty('AiringID')
If you're making a direct API call (recommended, where possible) then:
sageAPI.SetRecordingTimes(airing, 1234567788, 1234567678) # Much cleaner :)
--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.