Opened 5 years ago

Closed 3 years ago

#13620 closed Developer Task (Trac EOL)

Python: Create a high level interface to the existing 'services-api' module.

Reported by: rcrdnalor Owned by: rcrdnalor
Priority: minor Milestone: needs_triage
Component: Bindings - Python Version: Master Head
Severity: medium Keywords: Python
Cc: Ticket locked: no

Description

This interface should have the following attributes:

  • An easy to use class providing operations of a service defined in https://www.mythtv.org/wiki/Services_API
  • Usage of soap operations and data types retrieved from the 'WSDL' file provided by MythTV (see link above).
  • Automatically translate data types to/from the xml tree from/to the data types used in the MythTV Python Bindings, e.g. datetime, int, float, boolean types etc. are converted from/to strings of the xml elements.
  • Seamless integration to the existing bindings.
  • Usage of the existing 'services-api' module as transport layer.
  • Simple caching per session of the wsdl structure.
  • No additional dependencies, no additional python packages required.
    Note: This may change in future, once a python package providing soap operations (like python-zeep) gets broader acceptance.

Cons: Python3 only, because MythTV deprecated python2 already.

See https://www.mythtv.org/wiki/Release_Notes_-_31

Attachments (1)

tutorial.py (7.7 KB) - added by rcrdnalor 5 years ago.
Simple tutorial showing the usage

Download all attachments as: .zip

Change History (3)

Changed 5 years ago by rcrdnalor

Attachment: tutorial.py added

Simple tutorial showing the usage

comment:1 Changed 5 years ago by rcrdnalor

Pull request 198 opened.

Attached a simple tutorial showing the usage.

comment:2 Changed 3 years ago by Stuart Auchterlonie

Resolution: Trac EOL
Status: assignedclosed

We have moved all bug tracking to github [1]

If you continue to have this issue, please open a new issue at github, referencing this ticket.

[1] - https://github.com/MythTV/mythtv/issues

Note: See TracTickets for help on using tickets.