Posts: 473
Joined: Sep 2010
Reputation:
7
Yea I just read your post. I guess great minds think alike lol. At least we know there are others out there that are looking for similar functionality.
Posts: 152
Joined: Nov 2011
Reputation:
0
xbmcg
Senior Member
Posts: 152
2012-01-13, 01:12
(This post was last modified: 2012-01-13, 01:15 by xbmcg.)
I agree. This feature is somewhat missing.
Unfortunately, xbmc is designed almost monolithic. It would be better to split it in some dll / libraries / modules, that can be called / wrapped by services or deamons . eg. the scraping engine, the payer, the gui and the database engine. The last one is easy to script externaly using shell and sqlite3.exe - so it is a minor issue, but it would be nicer to wrap the basic insert / update /delete in an object interface dll.
With .net easy prototyping can be done, but it is too platform dependant. So I am still thinking about the right way where to start coding and environment to use. In visual studio.net there are nice wrapper / stubs for windows services that can ease the work - but then I have to stick with windows.
Scripting in python can also be an option for platform independency, but I am not sure, if it is a good idea to call scripts from a windows service....
Posts: 152
Joined: Nov 2011
Reputation:
0
xbmcg
Senior Member
Posts: 152
Yes, maybe. I am reading now the developers documentation on built-in functions. The main thing I miss is the sql interface, there is just some read calls via hhtp interface - its a little a workaround. would be better if one can call this stuff directly in python via the xbmc libraries.
The scrapper seems pretty easy to call. But it requires to patch first the sources and the advancedsettings.xml file to point to the right database, scraper engine and data source location. It would be better to have this parameters exposed to the call interface of the function.
It also accepts as parameter only video or music, so the distinction between movie and tv show needs to be set somwhere else. For video, there is an optional path parameter...
container.refresh would probably reload the content into the UI after the scan.
I will download the source from git and will look inside, if the backend part can be extracted from the rest and compiled in its own exe, maybe with an more generic python interface...