using perl and unix I managed to create a script that gets all the streams sources and names and creates a EXTM3U playlist

and used the playlist plugin to read the extm3u file , and I'm able see all beetle channels on my TV

the question , how can I make a plugin that executes my script and tells serviio to "refresh" the playlist , this way the list gets updated with the latest streams ?

, I'll post the scripts soon , 3 files , a perl script is used to get http requests a unix script that parses the http , gets some info , executes a 3rd script that gets the stream info from the web (again using the perl script) and output a m3u file having all the information

this file is loaded in serviio as web resources as a normal playlist (using the playlist plugin)

java.io.IOException: Unexpected error while invoking plugin (veetle): Expected a value on line: 1, column: 57975.But got an unterminated object. at org.serviio.library.online.WebResourceParser.parse(WebResourceParser.java:58) at org.serviio.library.online.OnlineLibraryManager.findResource(OnlineLibraryManager.java:169) at org.serviio.library.online.OnlineLibraryManager.findResourceInCacheOrParse(OnlineLibraryManager.java:184) at org.serviio.library.online.metadata.FeedUpdaterThread.getOnlineItems(FeedUpdaterThread.java:158) at org.serviio.library.online.metadata.FeedUpdaterThread.run(FeedUpdaterThread.java:95)Caused by: groovy.json.JsonException: Expected a value on line: 1, column: 57975.But got an unterminated object. at groovy.json.JsonSlurper.parseObject(JsonSlurper.java:222) at groovy.json.JsonSlurper.parseArray(JsonSlurper.java:114) at groovy.json.JsonSlurper.parseObject(JsonSlurper.java:235) at groovy.json.JsonSlurper.parse(JsonSlurper.java:75) at groovy.json.JsonSlurper.parseText(JsonSlurper.java:59) at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:230) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at veetle.extractItems(test1.groovy:26) at org.serviio.library.online.WebResourceUrlExtractor.parseWebResource(WebResourceUrlExtractor.java:29) at org.serviio.library.online.WebResourceParser.parse(WebResourceParser.java:56) ... 4 more

done ... current plugin (in available plugins) , any number you add after / is the number of channels you ask to retrieve ..

if the payload is bigger than the requested , then the payload becomes the number of requested items , else it will use the amount of channels that can be retrieved (which are less than the number the user asked)

sometimes I see in the log this error which I have no idea how to solve

the plugins work fine what so ever .. and sometimes this error appear ..

java.io.IOException: Unexpected error while invoking plugin (veetle): Lexing failed on line: 1, column: 2, while reading '�', no possible valid JSON value or punctuation could be recognized. at org.serviio.library.online.WebResourceParser.parse(WebResourceParser.java:58) at org.serviio.library.online.OnlineLibraryManager.findResource(OnlineLibraryManager.java:169) at org.serviio.library.online.OnlineLibraryManager.findResourceInCacheOrParse(OnlineLibraryManager.java:184) at org.serviio.library.online.metadata.FeedUpdaterThread.getOnlineItems(FeedUpdaterThread.java:158) at org.serviio.library.online.metadata.FeedUpdaterThread.run(FeedUpdaterThread.java:95)Caused by: groovy.json.JsonException: Lexing failed on line: 1, column: 2, while reading '�', no possible valid JSON value or punctuation could be recognized. at groovy.json.JsonLexer.nextToken(JsonLexer.java:84) at groovy.json.JsonSlurper.parse(JsonSlurper.java:73) at groovy.json.JsonSlurper.parseText(JsonSlurper.java:59) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:230) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at veetleis.extractItems(veetle.groovy:26) at org.serviio.library.online.WebResourceUrlExtractor.parseWebResource(WebResourceUrlExtractor.java:29) at org.serviio.library.online.WebResourceParser.parse(WebResourceParser.java:56) ... 4 more