webgrabplus: remove package

This commit is contained in:
awiouy 2019-01-27 21:03:56 +01:00
parent 3ae3e58114
commit 63c5323a37
14 changed files with 0 additions and 514 deletions

View File

@ -1,22 +0,0 @@
105
- Upgrade WebGrab!Plus to 2.1.5_beta
104
- Upgrade siteini.pack to 20161021
- Add system.d timer
- Add license headers
103
- Upgrade mdb ini files
102
- Upgrade WebGrab+Plus to 56.29.pre
- Upgrade siteini.pack to 20160807
- Call user defined pre/post processing
101
- Upgrade WebGrab+Plus to 56.28.pre
- Upgrade siteini.pack to 20160729
100
- Initial addon

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,27 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="webgrabplus"
PKG_VERSION="2.1.5_beta"
PKG_SHA256="bee5d6c12bc5b62366a0d05b48c1693d715199b28b12240fa74c0b2c0f613a72"
PKG_REV="105"
PKG_ARCH="any"
PKG_LICENSE="prop."
PKG_SITE="http://www.webgrabplus.com/"
PKG_URL="http://webgrabplus.com/sites/default/files/download/SW/V2.1.5/WebGrabPlus_V2.1.5_beta_install.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="service"
PKG_SHORTDESC="WebGrab+Plus: a multi-site incremental xmltv epg grabber"
PKG_LONGDESC="WebGrab+Plus ($PKG_VERSION) collects tv-program guide data from selected tvguide sites for your favourite channels."
PKG_TOOLCHAIN="manual"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="WebGrab+Plus"
PKG_ADDON_TYPE="xbmc.service"
PKG_ADDON_REQUIRES="tools.mono:0.0.0"
PKG_MAINTAINER="Anton Voyl (awiouy)"
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
cp -r $PKG_BUILD/bin $ADDON_BUILD/$PKG_ADDON_ID
}

View File

@ -1,63 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.webgrabplus
dir_bup=".backup"
dir_cfg="$ADDON_DIR/config/"
dir_sip="siteini.pack"
dir_siu="siteini.user"
dir_tmp="/tmp/wgp"
sip_ver="siteini.version"
url_ver="http://www.webgrabplus.com/sites/default/files/download/ini/latest_version.txt"
url_zip="http://webgrabplus.com/sites/default/files/download/ini/SiteIniPack_current.zip"
cd "$ADDON_HOME"
# Hack to not test the patience of beta testers
old_ver="version.siteini"
if [ -f "$old_ver" ]; then
mv "$old_ver" "$sip_ver"
fi
if [ ! -d "$dir_bup" -a ! -f "$sip_ver" ]; then
for i in "mdb" "rex" "siteini.pack" "WebGrab++.config.xml"; do
if [ -e "$i" ]; then
mkdir -p "$dir_bup"
mv "$i" "$dir_bup"
echo "Moved obsolete $i to $dir_bup"
fi
done
fi
mkdir -p "$dir_sip"
mkdir -p "$dir_siu"
touch "$sip_ver"
for s in $(find "$dir_cfg" -type f); do
f="${s#$dir_cfg}"
if [ ! -f "$f" ]; then
d="$(dirname $f)"
mkdir -p "$d"
cp "$s" "$d"
echo "Created default $f"
fi
done
ver_cur="$(wget $url_ver -qO -)"
ver_ins="$(cat $sip_ver)"
if [ "$ver_cur" != "$ver_ins" ]; then
rm -fr "$dir_tmp"
mkdir -p "$dir_tmp"
wget "$url_zip" -qP "$dir_tmp" && \
unzip -q "$dir_tmp/*.zip" -d "$dir_tmp" && \
rm -rf siteini.pack && \
mv "$dir_tmp/siteini.pack" . && \
echo "$ver_cur" > "$sip_ver" && \
echo "Updated siteini.pack to $ver_cur"
rm -fr "$dir_tmp"
fi

View File

@ -1,26 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.webgrabplus
wgp_user () {
echo "User defined $1"
if [ -f "$2" ]
then
echo "Calling user defined $1 script $2"
sh "$2"
else
echo "Nothing to do"
fi
}
webgrabplus.init
cd "$ADDON_HOME"
wgp_user "pre-processing" "$ADDON_HOME/before.sh"
mono "$ADDON_DIR/bin/WebGrab+Plus.exe" "$PWD"
wgp_user "post-processing" "$ADDON_HOME/after.sh"

View File

@ -1,14 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.webgrabplus
webgrabplus.init
[ "$wgp_on_act" ] && on_act="--on-active=$wgp_on_act"
systemd-run $on_act --on-calendar="$wgp_on_cal" --unit=webgrabplus \
/usr/bin/nice -n "$wgp_nice" "$ADDON_DIR/bin/webgrabplus.run"

View File

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<settings>
<!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml -->
<filename>guide.xml</filename>
<mode></mode>
<postprocess grab="y" run="n">mdb</postprocess>
<user-agent>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0</user-agent>
<logging>on</logging>
<retry time-out="5">4</retry>
<timespan>0</timespan>
<update>f</update>
<!--
Replace the next dummy channel entry with the channels you want.
You can look into the installed siteini.pack folder on your computer
For the latest version,
see http://webgrabplus.com/epg-channels for the available sites/channels
-->
<channel site="dummy" site_id="xx" update="i" xmltv_id="Example">Example</channel>
</settings>

View File

@ -1,145 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Configuration file for the MDB (Movie Data Base) postprocessor of WebGrab+Plus
by Jan van Straaten, December 2011
WebGrab+Plus Version V1.1.0
-->
<!-- Introduction:
This MDB postprocessor of WebGrab+Plus, which is available from Version 1.1.0 onwards, automatically adds MDB (eg IMDb) data to the xmltv file created by the basic WebGrab+Plus EPG frontend grabber.
To activate/de-activate this postprocess, use the <postprocess> setting in WebGrab++.config.xml
This postprocessor performs the following steps:
1. Select ('candidate' shows from the xmltv input file)
see <selectmovie> and <selectserie> settings.
2. Match (the selected show 'candidates' with shows in the online MDB (e.g. IMDb.com))
see <matchmovie> and <matchserie> setting.
3. Grab (the MDB data) by default the following data is grabbed :
(original show-) title, starrating, plot, description, commentsummaries and reviews
4. Merge (the grabbed MDB data with the epg data from existing xmltv file)
see allocation and presentation.
The resulting xmltv output file (see xmltv file , <filename>) must be different from the xmltv input file . (changing that would disturb the incremental nature of the epg grabbing)
Matching the selected shows is done in two steps:
2.1 Primary search in a general search site like BING, ASK or YAHOO
this results in a number of possible show-id's for the next step:
2.2 Verify the results of the primary search in a MDB site like IMDb
each of the show-id's from step 2.1 is examed for a match with the <matchmovie> and <matchserie> setting.
Similar to the function of the siteini's in the epg grabbing all site dependent settings are stored in mdbini files.
see mdbini files.
The Match and Grab results can be saved in a mdb data file. This speeds up the process.
see local MDB data file.
This file (mdb.config.xml), the mdbini files (e.g imdb.com.ask.ini) and the mdbdata file (mdb.xml) are stored in the MDB postprocess home folder C:\ProgramData\ServerCare\WebGrab\MDB
-->
<settings>
<!--mdbini files:
mdb site(s) to use, must correspond with an ini file, e.g. if imdb.es there must be an imdb.es.ini.
If a second site is entered here, it will be used as a 'second chance' if the first doesn't find a match for a certain show.
examples :
<site>imdb.com/site>-->
<site>imdb.com.ask, imdb.com.imdb</site>
<!--xmltv file : The xmltv target file in which the mdb data will be merged with the grabbed EPG.
Because of the incremental nature of the grabbing process this file must be different (name and/or path) from the target file of the grabbing as specified in WebGrab++.Config.xml <filename> !!
If omitted here or if by mistake the same file is specified , the file path will be changed to C:\ProgramData\ServerCare\WebGrab\mdb\ -->
<filename>guide.xml</filename>
<!--local MDB data file
The file that stores the mdb data locally with the intention to re-use already grabbed data which will speed up the grabbing of the mdb data.
If not specified no MDB data file will be used.
- update ; determines how the local MDB database file is updated
update="" , left blank , will not be updated
update="i" , incremental, only the selected shows will be saved in the local MDB data file
update="f" , all shows will be kept and new shows added. This is the prefered update mode.
(Over time this MDB data file could grow to an unpractical size with update="f". Unpractical if the time to match a selected show in this file exceeds the time to do the same online). -->
<ldbfilename update="f">mdb.xml</ldbfilename>
<!--Selection :
selectmovie and/or selectserie: the imdb postprocessor selects shows from the xmltv file for which imdb data will be attempted to optain based on these two selection settings.
- duration="45" ; minumum duration is 45 minutes
- contains="film,thriller,movie" ; the epg data must contain at least these words or any other. This also allows to select single shows! Other example: contains="Kill the Irishman", will select shows that contains this sentence.
- musthave="title" ; obviously the epg show must have a title, if omitted the value is title, other additional musthave xmltv elements can be entered here.
- optional="productiondate,actor,director" ; specifies which xmltv elements will be added to the selection if available.
- minimum="2" ; specifies how many of the musthave + optional elements must be available for a show to be selected
- addif="subtitle,titleoriginal" ; additional xmltv elements if available on top of the minimum, not yet implemented!-->
<selectmovie duration="55" minumum="3" musthave="title" contains=" " optional="productiondate,actor,director"/>
<selectserie duration="25" minumum="3" musthave="title" contains="serie,soap,thriller,comedy,drama" optional="productiondate,actor,director"/>
<!--match , compare the epg and mdb values
- mustmatch ; default title , only possibly added by subtitle
- optional ; other elements that can be added to compare are: productiondate,actor,director
- minimum ; how many of the above needs to match-->
<matchmovie mustmatch="title" optional="productiondate,actor,director" minimum="2"/>
<matchserie mustmatch="title" optional="productiondate,actor,director" minimum="2"/>
<!--Allocation and presentation of mdb elements in the xmltv target file
This MDB-postprocessor makes use of the REX-postprocessor to allocate the mdb elements in the xmltv target. Please read the detailed explanation in rex.config.xml for information about the background of the specification syntax. -->
<![CDATA[
Here only the summary of it:
1. Syntax
- the content of the xmltv-target elements can be specified by means of a mixture of text and element-values.
- the element-values must be entered by their element-name enclosed by ''
- multiple value elements (like actor) will be converted to single value elements if the xmltv-target element is a single value element, like <desc>. The individual values will be listed with a (standard WG++ internal element separator) | as separator unless another separator is specified as follows:
'element-name(separator-string)' e.g. 'actor(, )'
- text and element-names can be linked together by enclosing them by {}. This will ensure that, when the element in it is empty, everything between the {} is ignored. E.g. {\nProduced in : ('productiondate')}
- the text in the xmltv-target elements may contain the following simple formatting :
- \n or \r to force a newline
- \t to add a tab
2. The allowed xmltv-target elements (the ones in the target file specified above) are :
<title> (= special case : if the first mdb-title, which is the original showtitle, differs from the xmltv title it can be added to xmltv as extra 'original' title.)
<sub-title>
<desc>
<date> = the xmltv element name containing the productiondate
<star-rating>
<review> (=optional new xmltv element)
<director> e.g to add /substitute the (additional?) mdb-director
<actor> e.g to add /substitute the (additional?) mdb-actor
- IMPORTANT! : any of the above listed xmltv-target elements that is specified in this allocation specification, replaces the existing xmltv element and its content!
3. Supported element-names (from the existing xmltv listing, name definitions as in Appendix D) :
- 'title' 'description' 'starrating' 'subtitle' 'productiondate' 'category' 'director' 'actor' 'presenter' 'writer' 'composer' 'producer' 'rating' 'episode' 'review' 'subtitles' 'premiere' previously-shown' 'aspect' 'quality'
4. Supported MDB element-names
- 'mdb-title' :
If 'mdb-title' is used in the xmltv-target element <title>, it will only be added if different from the existing xmltv title (see 2. above)
If used in any of the other supported xmltv-target elements, there is no such restriction and it will be listed in any case.
- 'mdb-starrating' 'mdb-description' 'mdb-plot' 'mdb-commentsummary'
5. Attributes (might need completion)
- for each of the xmltv-elements the following attribute can be specified
(if not specified the existing one, if present in the xmltv, will be used) :
- lang for <title> and <desc> , default : no attribute
- system for <star-rating> , default : no attribute
- type for <review> , default: type="text" ]]>
<!--mdb-starrating correction:
allows to convert the mdb-starrating into a value that suits a media-center starrating display. E.g. , the majority of the IMDb starrating values are between 4 (bad) and 8 (good) in a scale of 10. In a 5 star display system , like the one in MCE, there is too little difference between these values.
The following settings, first subtracts 4 from the grabbed mdb-starrating and multiplies the result by 1.2 with a maximum of 5 . That will convert the values above, in 0 (was 4) and 5 (was 8)
Default values: subtract="0" multiply="1" and max="10"-->
<mdb-starrating subtract="4" multiply="1.2" max="5" />
<!--The next two lines add mdb-title (if different) as an extra <title> element before the existing one: -->
<title lang="xx">'mdb-title'</title>
<title>'title'</title>
<!--The following line replaces the existing <desc> by this one, composed as follows:
The value of the first mdb-title, then ... [plot: , then the value of mdb-plot, then ] , then on a newline the existing description, then on a newline the text [imdb descriptin: , followed by the value of the mdb-description-->
<desc>{'mdb-title'...}{[plot: 'mdb-plot']\n}'description'{\n[imdb description: 'mdb-description']}</desc>
<!--The next two lines replace the existing star-rating element(s) (if any) with the two specified here. First is the existing followed by the mdb-starrating -->
<star-rating>'starrating'</star-rating>
<star-rating system="imdb">'mdb-starrating'</star-rating>
<!--It is also possible to add the two starrating values into one <star-rating> element:
<star-rating system="mixed">From Site : 'starrating'\t\tFrom IMDb : 'mdb-starrating'</star-rating> -->
<!--The next example shows that it is possible to create multiple elements, it splits the review data in two <review> elements-->
<review>{Viewers comments : 'mdb-commentsummary( ... )'}</review>
<review type="text">{IMDb review: 'mdb-review'}</review>
<!--channels, a way to exclude channels that dont need mdb processing.
As default, all channels in the WebGrab++.config.xml will be used to select shows.
Channels in the following list are excluded if update="" (left blank), any other value will keep the channel included.
This list has the same format as the channel-list in WebGrab++.config and the channel files in the siteini.pack. -->
<channel update="" site="disney.nl" site_id="DisneyChannel" xmltv_id="Disney Channel">Disney Channel</channel>
<channel update="" site="tvgids.upc.nl" site_id="7K" xmltv_id="RTL 4">RTL 4</channel>
</settings>

View File

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Configuration file for the REX (Re-arrange and Edit Xmltv) postprocessor of WebGrab+Plus
by Jan van Straaten, July 2012
WebGrab+Plus Version V1.1.1
-->
<!-- Introduction:
The purpose of this postprocessor is to re-arrange and edit the xmltv file created by the grabber section of WebGrab+Plus.
This can be useful or necessary if the EPG viewer of the PVR/Media-Centre used, or the xmltv importer it uses, does not support all the xmltv elements in the xmltv file created by WG++.
It can:
- Move the content of xmltv elements to other xmltv elements
- Merge the content of several xmltv elements
- Add comments/prefix/postfix text
- Remove or create xmltv elements
E.g.: If the PVR doesn't support import of credit elements (actors, directors etc.) it can add the content of them to the description and remove the original credit elements which are useless.
Or , it can move the episode data to the beginning or end of the subtitle element
Etc. ..
Remark: This postprocessor is only fully effective if the xmltv input has a 'clean' xmltv structure in which the data is properly allocated to the elements. If that is the case depends on the EPG source site and the design of the SiteIni file . Some of the (e.g. customized) siteini files produce xmltv data that targets certain PVR/Media-Centre requirements already. In these cases this postprocessor is less effective /useful.-->
<settings>
<!--xmltv file : The xmltv target file in which the updated data will be merged with the grabbed EPG.
Because of the incremental nature of the grabbing process this file must be different (name and/or path) from the target file of the grabbing as specified in WebGrab++.Config.xml <filename> !!
If omitted here or if by mistake the same file is specified, the file path will be changed to C:\ProgramData\ServerCare\WebGrab\Rex\-->
<filename>guide.xml</filename>
<!-- Configuration of the elements: -->
<!-- Content and Values:-->
<![CDATA[
This is best explained in a step by step fashion:
Suppose you want to move the actors to the end of the desciption. You then specify:
<desc>'description'\n'actor'</desc>
The result is the existing 'description' , followed by, on a newline, the actor(s) separated by the standard WG++ element separator | .
The result:
<desc>This is the original description.
Michael Douglas|Kim Basinger</desc>
You probably don't like the | as separator between the actors, so you specify anther separator like this:
<desc>'description'\n'actor(, )'</desc>
The result:
<desc>This is the original description.
Michael Douglas, Kim Basinger</desc>
You can make this prettier by adding some text to the actors addition:
<desc>'description'\nActors: 'actor(, )'.</desc>
The result:
<desc>This is the original description.
Actors: Michael Douglas, Kim Basinger.</desc>
A small problem: Suppose the source xmltv show doesn't have any actors, then the result would be not so pretty:
<desc>This is the original description.
Actors: .</desc>
To avoid that, the added text can be linked to the element it must be added to, like this:
<desc>'description'{\nActors: 'actor(, )'.}</desc>
Result with actors:
<desc>This is the original description.
Actors: Michael Douglas, Kim Basinger.</desc>
And without actors:
<desc>This is the original description.</desc>
An example with some more elements:
<desc>'description'{\n\tYear of production: 'productiondate'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor(, )'.}</desc>
Result:
<desc>This is the original description.
Year of production: 2002.
Producer: Steven Spielberg.
Actors: Michael Douglas, Kim Basinger.</desc>
And another one:
<sub-title>{Episode: 'episode'\t}'subtitle'</sub-title>
Result:
<sub-title>Episode: 3.2/12.1 The original subtitle</sub-title>
You can also remove elements (but not the title!) from the xmltv listing by specifying an empty element, like this:
<actor></actor>
This will remove all <actor> elements
And this:
<credits></credits>
Will remove the <credits> element, including all its child elements like <actor> , <producer> etc. ]]>
<![CDATA[
Summary of Content/Values:
1. Syntax
- the content of the xmltv-target elements can be specified by means of a mixture of text and element-values.
- the element-values must be entered by their element-name enclosed by ''
- multiple value elements (like actor) will be converted to single value elements if the xmltv-target element is a single value element, like <desc>. The individual values will be listed with a (standard WG++ internal element separator) | as separator unless another separator is specified as follows:
'element-name(separator-string)' e.g. 'actor(, )'
- text and element-names can be linked together by enclosing them by {}. This will ensure that, when the element in it is empty, everything between the {} is ignored. E.g. {\nProduced in : ('productiondate')}
- the text in the xmltv-target elements may contain the following simple formatting :
- \n or \r to force a newline
- \t to add a tab
2. The allowed xmltv-target elements (the ones in the target file specified above) are :
<title>
<sub-title>
<desc>
<date> = the xmltv element name containing the productiondate
<star-rating>
<review> (=optional new xmltv element)
<director> e.g to add /substitute the (additional?) mdb-director
<actor> e.g to add /substitute the (additional?) mdb-actor
- IMPORTANT! : any of the above listed xmltv-target elements that is specified in this allocation specification, replaces the existing xmltv element and its content!
3. Supported element-names (from the existing xmltv listing, name definitions as in Appendix D) :
- 'title' 'description' 'starrating' 'subtitle' 'productiondate' 'category' 'director' 'actor' 'presenter' 'writer' 'composer' 'producer' 'rating' 'episode' 'review' 'subtitles' 'premiere' 'previously-shown' 'aspect' 'quality'
4. Also supported are the additional elements created by the MDB-postprocessor.
- Important : This MDB-postprocessor automatically makes use of this REX-postprocessor. In that case the REX-postprocessor uses the allocation specification from the MDB config file mdb.config.xml and ignores the specification entered here.
- 'mdb-title'
(if used in the xmltv-target element <title> it will only be added if different from the existing xmltv title, see for more details mdb.config.xml)
- 'mdb-starrating' 'mdb-description' 'mdb-plot' 'mdb-commentsummary' 'mdb-review'
5. Attributes (might need completion)
- for each of the xmltv-elements the following attribute can be specified
(if not specified, the existing one, if present in the xmltv, will be used) :
- lang for <title> and <desc> , default : no attribute
- system for <star-rating> , default : no attribute
- type for <review> , default: type="text"]]>
<!--An example setting -->
<sub-title>{Episode: 'episode' }'subtitle'</sub-title>
<desc>'description'{\n\t¤ Produced in: 'productiondate'. }{¤ Category: 'category(, )'. }{\n\t¤ Actors: 'actor(, )'}{\n\t¤ Director: 'director(, )'}{\n\t¤ Presenter: 'presenter(, )'}</desc>
<credits></credits>
<episode-num></episode-num>
<date></date>
<category></category>
<review>{Ratings: 'rating(, )'.}</review>
<rating></rating>
</settings>

View File

@ -1,20 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
import subprocess
import xbmc
import xbmcaddon
class Monitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.id = xbmcaddon.Addon().getAddonInfo('id')
def onSettingsChanged(self):
subprocess.call(['systemctl', 'restart', self.id])
if __name__ == '__main__':
Monitor().waitForAbort()

View File

@ -1,18 +0,0 @@
msgid ""
msgstr ""
msgctxt "#30000"
msgid "systemd-run"
msgstr ""
msgctxt "#30001"
msgid "--on-active"
msgstr ""
msgctxt "#30002"
msgid "--on-calendar"
msgstr ""
msgctxt "#30003"
msgid "Priority (nice, 0=max, 19=min)"
msgstr ""

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="30000">
<setting label="30001" id="wgp_on_act" type="number" default="300" />
<setting label="30002" id="wgp_on_cal" type="text" default="*-*-* 03:00:00" />
<setting label="30003" id="wgp_nice" type="slider" default="10" range="0,1,19" option="int" />
</category>
</settings>

View File

@ -1,5 +0,0 @@
<settings>
<setting id="wgp_nice" value="10" />
<setting id="wgp_on_act" value="300" />
<setting id="wgp_on_cal" value="*-*-* 03:00:00" />
</settings>

View File

@ -1,15 +0,0 @@
[Unit]
Description=WebGrab+Plus
Documentation=http://www.webgrabplus.com/
After=network.target
Requires=network.target
[Service]
ExecStart=/bin/sh /storage/.kodi/addons/service.webgrabplus/bin/webgrabplus.start
ExecStop=/usr/bin/systemctl stop webgrabplus.timer
ExecStop=/usr/bin/systemctl stop webgrabplus.service
RemainAfterExit=yes
Type=oneshot
[Install]
WantedBy=kodi.target