Git Product home page Git Product logo

script.service.gto's Introduction

Description:

The script 'script.service.gto' fetches actual tv highlights from various RSS feeds and present them as widget in the home menu (needs skin integration). It can show only those events optionally if they are present in the pvr channel list.

The script starts as a service which runs at Kodi start and fetches the data depending on the selected interval. In addition to update all outdated broadcasts will removed from the widget list.

Skintegration:

To integrate the TV highlights of the day in Estuary, please follow the instructions in the README.md in the folders integration/<skinname>. Otherwise, the addon can be integrated into other skins as a TV Widget too. The addon use a method called "Dynamic List Content". The integration by the skinner is done by calling:

<content target="pvr">plugin://script.service.gto?action=getcontent&amp;ts=$INFO[Window(Home).Property(GTO.timestamp)]</content>

For detailed description of ListItem.Labels and ListItem.Properties see below.

If you want to assign the "German Telecast Offers" as a widget via skinhelper addon, just use for calling the user defined action:

  plugin://script.service.gto?action=getcontent&amp;ts=$INFO[Window(Home).Property(GTO.timestamp)]

Script call (Methods):

The service for updating content and widgets (starter.py) calls the actual plugin via the parameter 'action' with a corresponding value. This parameter can be used by other plugins or scripts as follows:

Perform a rescan of the feeds and refresh the widget:

RunPlugin(plugin://script.service.gto?action=scrape)

Refresh the Widget and remove outdated items:

RunPlugin(plugin://script.service.gto?action=getcontent)

Opens a scraper list and stores the selected scraper as default:

RunPlugin(plugin://script.service.gto?action=change_scraper)

Opens a window with additional details of the selected broadcast - Important for Skinners!:

Example 'onclick' of a selected element - opens a popup window named <skin.id>.script-gto-info.xml (for example skin.estuary.script-gto-info.xml):

<onclick>
    RunPlugin(plugin://script.service.gto?action=info&amp;item=$INFO[ListItem.Property(Item)])
</onclick>

Set a record timer within from info window

<onclick>
    RunPlugin(plugin://script.service.gto?action=record&amp;broadcastid=$INFO[Window(Home).Property(GTO.Info.BroadcastID)]&amp;item=$INFO[Window(Home).Property(GTO.Info.Item)])
</onclick>

Set a reminder timer

  <onclick>
        RunPlugin(plugin://script.service.gto?action=reminder&amp;broadcastid=$INFO[Window(Home).Property(GTO.Info.BroadcastID)]&amp;item=$INFO[Window(Home).Property(GTO.Info.Item)])
  </onclick>

List items, Info labels and Properties:

- ListItem.Label                  Station name
- ListItem.Label2                 Title of broadcast
- ListItem.Art(icon)              Screenshot of broadcast
- ListItem.Art(thumb)             dto.
- ListItem.Art(poster)            dto.
- ListItem.Art(fanart)            dto.

- ListItem.Art(logo)              PVR station logo

- ListItem.genre                  Genre
- ListItem.plot                   Content description of broadcast
- ListItem.duration               Runtime in seconds
- ListItem.rating                 Rating

- ListItem.Property(StartDate)    Date + time of broadcast start, regional settings without secs
- ListItem.Property(StartTime)    Time if Broadcast start (hh:mm)
- ListItem.Property(EndTime)      End time
- ListItem.Property(RunTime)      Runtime of broadcast in minutes
- ListItem.Property(HasTimer)     True|False if Timer/Reminder for this item is set
- ListItem.Property(Item)         Item number

Properties for Home window (resides as properties in Window(Home)):

- GTO.provider                    Broadcast provider (scraper.shortname)
- GTO.items                       count of items
- GTO.busy                        true/false - scraper is busy
- GTO.timestamp                   Timestamp of last refresh of the widget

Properties for info window (resides as properties in Window(Home)):

- GTO.Info.Item                   ID of item
- GTO.Info.Title                  title
- GTO.Info.Picture                screenshot of broadcast
- GTO.Info.Description            description
- GTO.Info.Channel                PVR channel name
- GTO.Info.ChannelID              PVR channel id
- GTO.Info.Logo                   PVR channel logo
- GTO.Info.Date                   datetime in format 'dd.mm.yy hh:mm'
- GTO.Info.RunTime                run time in minutes
- GTO.Info.EndTime                end time (hh:mm)
- GTO.Info.Rating                 Genre and/or Rating
- GTO.Info.hasTimer               'True|False' active recording timer
- GTO.Info.BroadcastID            Broadcast-ID of broadcast (needed for timers/reminders)
- GTO.Info.isInFuture             'True|False' broadcast is in future
- GTO.Info.isRunning              'True|False' broadcast is currently running

FAQ

Q: There are asterisks (*) behind the channel names, why is that?

The channel name shown in the scraper is different from the one in the channel list (e.g. RTLII vs. RTL2). In this case, the 'ChannelTranslate.json' must be adapted, which maps various channel names used by the scraper to the PVR list. To avoid an overwriting of the transformation table, it is stored under

    Linux (Kodi, LibreElec): /storage/.kodi/userdata/addon_data/script.service.gto/translations.json)
    Windows: %APPDATA%\kodi\userdata\addon_data\script.service.gto\translations.json

The 'translations.json' is editable with every simple editor.

Q: Where resides the Info Window XML?

The addon search at first within the current skin folder for a file named <skin-id>.script-gto-info.xml. If this file is not present there (e.g. unchanged or unmodified skin) the addon is parsing the addon folder itself and looks for a fallback like script.service.gto/skins/Default/720p/<skin-id>.script-gto-info.xml (for example: skin.estuary.script-gto-info.xml). If there is no fallback, a notification occurs.

Q: Where is the Widget GUI description file (xml)?

This file is named gto-widget.xml and must reside within the xml folder of your skin. See examples in the integration folder of this addon.

script.service.gto's People

Contributors

b-jesch avatar beatmasterrs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.