Skip to content
Juho Tykkälä edited this page Oct 30, 2015 · 9 revisions

API documentation

_init_(verbose)

Initialize the elisa viihde session

  • verbose boolean - print debug data to stdout during execution (defaults to False)
  • raises Exception - on failed api call

login(username, password)

Login with username and password

  • username string - elisa viihde username
  • password string - elisa viihde password
  • raises Exception - on failed api call

islogged()

Check if session is logged in

  • returns boolean - on succesfull check

close()

Logs out from elisa viihde and closes the session

  • raises Exception - on failed api call

gettoken()

Get sso authentication token

  • returns string - sso auth token

getuser()

Get logged in user info

  • returns dict - user info

getsession()

Get session cookies

  • returns dict - current session cookies

setsession(cookies)

Restore existing session state

  • cookies dict - persisted session cookies as dict

getfolders(folderid)

Get folder information

  • folderid int - parent folder id (defaults to 0, which is the root folder)
  • returns list - list of folders
  • raises Exception - on failed api call
[
  { "depth" : 2,
    "hasHierarchyRecordingRules" : true,
    "hasNewRecordings" : true,
    "hasRecordingRules" : true,
    "id" : 2540806,
    "locked" : false,
    "name" : "Dokumentit",
    "newRecordingsCount" : 97,
    "open" : false,
    "parentFolder" : 0,
    "recordingRules" : [ { "channel" : "Yle TV1",
          "recordingId" : 239012869,
          "wildcard" : "*dokumentti*"
        },
        { "channel" : "Yle Teema",
          "recordingId" : 239017157,
          "wildcard" : "*dokumentti*"
        }
      ],
    "recordingsCount" : 99,
    "selected" : false
  }
]

getrecordings(folderid, page, sortby, sortorder, status)

Get recordings from folder

  • folderid int - folder id (defaults to 0, which is the root folder)
  • page int - page number (defaults to None, which fetches all recordings) (50 recordings per page if page set)
  • sortby string - sort column name (defaults to "startTime")
  • sortorder string - sort order (defaults to "desc")
  • status string - recording status (defaults to "all")
  • returns list - list of recordings
  • raises Exception - on failed api call
[
  { "channel" : "Yle TV2",
    "channelId" : 38,
    "description" : "Raha seuraa potilasta Ruotsissa. Minkä mallin val...",
    "duration" : 2996,
    "durationMinutes" : 49,
    "endTimeUTC" : 1422388203000,
    "finished" : true,
    "folderId" : 3603265,
    "isWatched" : false,
    "name" : "Ajankohtainen kakkonen",
    "programId" : 1760670,
    "recordingId" : 0,
    "recordingState" : "finished",
    "scrambled" : false,
    "serviceName" : "Yle TV2",
    "startTime" : "27.01.2015 21.00",
    "startTimeFormatted" : "ti 27.01.2015 21.00",
    "startTimeUTC" : 1422385207000,
    "thumbnail" : "http://thumbs.elisaviihde.fi/thumbnails/1760670.jpg",
    "thumbnailUrl" : "//thumbs.elisaviihde.fi/thumbnails/1760670.jpg"
  }
]

getprogram(programid)

Get program information from a single recording

  • programid int - id of a recording (defaults to 0)
  • returns dict - program info
  • raises Exception - on failed api call
{ "description" : "Raha seuraa potilasta Ruotsissa. Minkä mallin val...",
  "name" : "Ajankohtainen kakkonen",
  "serviceName" : "Yle TV2",
  "startTimeUTC" : 1422385200000
}

getstreamuri(programid)

Get video stream uri for recording (uri is valid for 4 hours)

  • programid int - id of a recording (defaults to 0)
  • returns string - video stream uri
  • raises Exception - on failed api call

markwatched(programid)

Mark recording as watched

  • programid int - id of a recording (defaults to 0)
  • raises Exception - on failed api call