0.24 Python bindings/Data Handlers

From MythTV Official Wiki
Revision as of 03:10, 4 October 2010 by Wagnerrp (talk | contribs) (Recorded)

Jump to: navigation, search

Backend Data

These classes are not intended to be called directly, but only returned from methods in MythBE and MythXML. The classes are similar to dictionaries, whose data can also be accessed as class attributes.

FreeSpace

Refers to one disk defined in the backend for storage group use. Computes several additional values from the original data.

>>> fs = be.getFreeSpace().next()
>>> fs
<FreeSpace '/mnt/mythtv/recordings@mythtrunk' at 0x804e7f0e0>
>>> fs.items()
[('host', u'mythtrunk'), ('path', u'/mnt/mythtv/recordings'), ... , ('us_low', 19550336)]
>>> fs.totalspace, fs.usedspace, fs.freespace
(119116800, 19550336, 99566464)

Program

Refers to a single upcoming or existing recording.

fromRecorded

Inputs Outputs Description
Recorded object
Program object
Returns a Program object from an existing Recorded object
Example:
>>> rec
<Recorded 'Archer','2010-10-02 23:00:00' at 0x8056b28a0>
>>> Program.fromRecorded(rec)
<Program 'Archer','2010-10-02 23:00:00' at 0x8056bc9a0>

toString

Inputs Outputs Description
n/a
serialized data <string>
Outputs a string with values separated by '[]:[]', for use over Myth Protocol

open

Inputs Outputs Description
type='r'
file object
Opens Program for read/write, will automatically decide between local filesystem, Myth Protocol, or MythXML for how to access file

delete

Inputs Outputs Description
force=False
rerecord=False
n/a
Deletes a recording, and optionally marks it for re-record. If force is False, the call will fail if mythbackend cannot find a file to delete matching the program. Setting force to True will cause it to be deleted anyway, possibly resulting in an orphaned file.

formatPath

Inputs Outputs Description
path
replace=None
n/a
Returns a formatted file path using the syntax of mythlink.pl. Replace is an optional character to use in place of certain characters that cause problems in Windows.
Example:
>>> prog.formatPath('%T/(%oY%-%om%-%od) %S')
'Archer/(2010-01-14) .mpg'

formatJob

Inputs Outputs Description
command
n/a
Returns a formatted command string using the jobqueue syntax.
Example:
>>> prog.formatJob('/some/job %DIR% %FILE% %TITLE%')
/some/job /srv/mounts/mythtv/video 2062_20101002230000.mpg Archer

Database Read-Only

These classes provide mapped access to a single entry in a database table. The table columns are accessible as the same name as attributes or keys. The class otherwise behaves as a dictionary.

Guide

This class maps to guide data in the `program` table. This class can be populated from the database directly, or from MythXML.

getRecStatus

Inputs Outputs Description
n/a
recstatus
Query the recordings status of pending recordings from the abckend, and determines the recording status of the guide object. Returns 0 if show does not match any Record rules.

InternetContent

This class maps to an installed grabber in the `internetcontent` table.

InternetContentArticles

This class maps to a grabbed internet video in the `internetcontentarticles` table.

Database Read-Write

These classes map to a single entry in a database table, and allow creation, alteration, and deletion in addition to just read access.

shared

These are shared methods supported by all read/write classes.

create

Inputs Outputs Description
data=None
self
Creates a new database entry using the data currently contained in the object. Accepts an optional dictionary of additional data to apply before inserting. This method will only work if the object has not already been matched to an existing database entry.
Example:
>>> vid = Video().create({'title':'test file', 'filename':'path/to/test/file.avi', 'hash':'00000000'})
>>> vid
<Video 'test file' at 0x8051b8ae0>

update

Inputs Outputs Description
*args
**kwargs
n/a
Updates the local object with any given changes, and then pushes the data contained in the object onto the database. This method will only work if the object has been matched to an existing database entry.

delete

Inputs Outputs Description
n/a
n/a
Deletes database entry matched to object.

Record

This class manages recording rules. Editing a rule automatically issues a reschedule. delete() and create() both take a wait keyword argument, which will cause the function to wait until the backend has completed its reschedule run.

getUpcoming

Inputs Outputs Description
deactivated=False
list of Programs
Outputs a list of shows that will be recorded according to this recording rule. Will optionally return all shows matching the rule, regardless of record status.
Example:
>>> rec
<Record Rule 'The Office', Type 3 at 0x8051d54e0>
>>> rec.getUpcoming()
[<Program 'The Office','2010-10-07 21:00:00' at 0x8052e2ee0>, <Program 'The Office','2010-10-14 21:00:00' at 0x8055fb520>]

fromGuide

Inputs Outputs Description
Guide object
type=kAllRecord
wait=False
self
Return a recording rule matching the given Guide object. Can optionally provide a recording type, and wait for the scheduler run to finish.

fromProgram

Inputs Outputs Description
Program object
type=kAllRecord
wait=False
self
Return a recording rule matching the given Program object. Can optionally provide a recording type, and wait for the scheduler run to finish. If Program object already matches an existing recording rule, the new rule will be set up as an override.

Recorded

cast

seek

markup

open

Inputs Outputs Description
type='r'
file object
Opens a recording for file access. Attempts direct file access, before falling back to Myth Protocol file transfer.

formatPath

Inputs Outputs Description
path
replace=None
n/a
Returns a formatted file path using the syntax of mythlink.pl. Replace is an optional character to use in place of certain characters that cause problems in Windows.
Example:
>>> rec.formatPath('%T/(%oY%-%om%-%od) %S')
'Archer/(2010-01-14) .mpg'

importMetadata

Inputs Outputs Description
VideoMetadata object
overwrite=False
n/a
This method takes a VideoMetadata result, imports any new data (or optionally overwrites existing data), and downloads any necessary artwork, before committing to the database.

fromProgram

Inputs Outputs Description
Program object
self
This classmethod returns a database entry for read/write access, from an existing Program response.

RecordedProgram

fromRecorded

(classmethod)

OldRecorded

setDuplicate

Job

setComment

setStatus

Channel

Video

cast

genre

country

markup

open

openBanner

openCoverart

openFanart

openScreenshot

openTrailer

getHash

parseFilename

importMetadata

fromFilename

(classmethod)

Song

fromAlbum

(classmethod)

fromArtist

(classmethod)

fromPlaylist

(classmethod)

Album

fromArtist

(classmethod)

fromSong

(classmethod)

Artist

fromName

(classmethod)

fromSong

(classmethod)

fromAlbum

(classmethod)

MusicPlaylist

fromSong

(classmethod)

MusicDirectory

fromPath

(classmethod)