[mythtv-users] using mythtv as clockradio

Bill Meek keemllib at gmail.com
Thu Jan 21 05:17:10 UTC 2016


On 01/20/2016 10:32 PM, Hika van den Hoven wrote:
> Thursday, January 21, 2016, 5:10:45 AM, you wrote:
>> The above would be something like:
>
>>     import Utilities as api
>>     postdata = { 'HostName':args.fe, 'Key':'WatchTVGuide', 'Value':0 }
>>     api.Send(host=args.host, port=args.port, endpoint=Myth/PutSetting, postdata=postdata)

Neglected to add: opts={'wrmi':True} after postdata above. It's a
safety feature that makes sure that *we really mean it* (changing
data, that is.) Also, by setting wrmi to False, a program can test
before actually sending to the host, especially if opts['debug']
is True.

> Yes, I saw that stuff about sending as a POST and didn't know what
> that meant. Thanks for the link as the main service api only links to
> Perl examples.

Fixed. It already appeared in the category, but not an entry matching
the Perl one you spotted at the bottom of the page. Thanks.

> but that would not count for calling the single value and getting an
> empty answer, while the value is there! Or must such a specific info
> call also be packed in a 'POST'?

Not 100% clear I understand the issue. Any GET/POST response should be
checked for a failure. The Python module does that and returns an Abort
or Warning. See the following lines here: Full example using Dvr/GetUpcomingList
at that page:

if list(resp_dict.keys())[0] in ['Abort', 'Warning']:
     sys.exit('\n{}\n'.format(list(resp_dict.values())[0]))

> I did find though how to get data as json, which in Python is way
> easier then xml.

Good. That's what the module does, requests JSON and returns it in
a dict, saving another step.

-- 
Bill


More information about the mythtv-users mailing list