• 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 96
v17 Artwork Beef - automatically add extended artwork
#61
@rmrector: Holy cow! It totally didn't occur to me to use the tvshow bool. Now that I've seen it in writing. it all makes sense! It's just the way I like it! As for the timing, you're absolutely correct, but there's a way. You can standardise it by making the scroll-speed something fast, and set a <pauseatend> to your desired timing. That has the effect of pausing for a number of seconds after the label has scrolled to its end. So if you make the scroll itself last under a second, you effectively get a sort of timer for the rotation. Bye-bye annoying image-dependent scrolling. Big Grin

As for the animated artwork, I'm simply unclear. I seem to remember there being some small, nigh-invisible check mark in one of the dependencies, that would enable the automatic loading of the animated artwork, but I just can't find it. I've nothing against it being done automatically, but manually picking it all is a drag.

As for the sets conundrum, it's actually all the sets. The problem is two fold - one is that "Select artwork to add" always produces a random film with its selectable/addable art. In my tests, it was always or almost always the first title in the database. It's as if the set could not be found and Beef started the search from the very top? The other problem is that the "Choose art" option doesn't seem to search for things properly either. After further testing, I can say that the only result for all my sets when using "Choose art" is a list of all film posters for all the films in the set. So, regardless whether I clicked to search for landscape, fanart or whatever, the results in the search window are always the same, a list of the set film posters.

Now, what seems strange to me is that Beef recognised every single one of the sets upon originally adding the artwork, it directed to the proper set logos, and disc if available, etc. but it fails on every manual search. The way it stands now, I have to either re-scrape the whole set to accomplish any change or simply settle for not having the option of changing anything but the set posters. Now, I'd have nothing against having a list of all the movies' logos/clearart, etc. if a specialised collection logo was not found, but all my examples (I'm talking popular stuff which I know has content, Terminator, Alien, Pirates of the Carribean, LoTR, etc) already have the special artwork that Beef found and cached, which it refuses to show in the manual search results.
Eminence 2 MOD, Revived & Improved

If you've found me helpful, eh, maybe press the Like button? If you like, you can click here for donations. :)
Reply
#62
@Alanon.

"Choose art" is Kodi's built-in function to change artwork, and it doesn't quite work as you'd expect for these additional art types, usually showing posters (but this is still the place to go if you want to manually select a file from the filesystem). The one to use for Artwork Beef is "Select artwork...".

That behavior shouldn't be happening on "Select artwork...", so we'll need to do a bit of troubleshooting. On the first window after choosing "Select artwork...", is there a button to "Search for set"? If not maybe you have the older context menu item "Select artwork to add" that can point to Artwork Downloader, so you're seeing that instead. Actually choosing "Search for set" shouldn't be needed, but you might try it once or twice to see if that helps. If it's still not working, a debug log might have more useful information, can you post one with a couple attempts at "Select artwork..."?
Reply
#63
(2017-07-21, 00:03)rmrector Wrote: @Alanon.

"Choose art" is Kodi's built-in function to change artwork, and it doesn't quite work as you'd expect for these additional art types, usually showing posters (but this is still the place to go if you want to manually select a file from the filesystem). The one to use for Artwork Beef is "Select artwork...".

That behavior shouldn't be happening on "Select artwork...", so we'll need to do a bit of troubleshooting. On the first window after choosing "Select artwork...", is there a button to "Search for set"? If not maybe you have the older context menu item "Select artwork to add" that can point to Artwork Downloader, so you're seeing that instead. Actually choosing "Search for set" shouldn't be needed, but you might try it once or twice to see if that helps. If it's still not working, a debug log might have more useful information, can you post one with a couple attempts at "Select artwork..."?

Right on the money. I indeed have the "Select artwork to add" context menu from the repo. However, it has a setting to point to beef which is active, and that's why I didn't think twice before presuming that everything was ok on that front. The thing is, it turns out that I have both "Select artwork to add" and "Select artwork...", and completely ignored the latter, which works perfectly.

It would seem that the context menu is not at all needed, as I presume that "Select artwork..." is the add-on's native context menu? Though I'm still flummoxed, as I have disabled AD, did the old context activate old code or what? If I might make a suggestion, to maybe note in the OP that the context add-ons aren't needed? I know that when I first installed the repo, I received the notifications for updates of the original context items, and just presumed that they were the thing meant to be used, and thought no more of it.

Anyway, the "Select artwork..." works perfectly, and everything can be changed. With that sorted, and the seasons and episodes rotating the fanart, I can now peacefully remove AD from Kodi. Nod
Eminence 2 MOD, Revived & Improved

If you've found me helpful, eh, maybe press the Like button? If you like, you can click here for donations. :)
Reply
#64
this addon must be in kodi repo.

this is the Greatest scrapper artwork
INTEL: Celeron - UHD 610 | KODI: 18.3
OS: Windows 10 | DEVICE: HP Laptop
Reply
#65
@Alanon. Right on. I'm actually thinking the solution at this point is to remove those extra context item add-ons from my repo altogether. They are only good for Isengard support at this point, as it didn't support more than one context item per add-on, but it may be time to officially drop Isengard support.

@3500. Thanks. It may be awhile yet before I try to get it included in the official repo. The next version of Kodi (v18 Leia) is slated to have much improved scrapers, and I believe one of their new abilities will be to set this extended artwork, so a lot of this functionality can be moved into a real scraper. I think in many cases that will handle most needs, so Artwork Beef's future is a bit unknown.
Reply
#66
Is annyonee having issues with tvshows art not being added usiing a central sqldb?
I have a fanart.tv api key set.
Reply
#67
(2017-07-24, 23:29)badaas Wrote: Is annyonee having issues with tvshows art not being added usiing a central sqldb?
I have a fanart.tv api key set.

I'm using a MySQL library and I'm not having any issues. A debug log might give me more information, try both "Select artwork..." and "Add missing artwork" on a couple of items.
Reply
#68
(2017-07-25, 05:08)rmrector Wrote:
(2017-07-24, 23:29)badaas Wrote: Is annyonee having issues with tvshows art not being added usiing a central sqldb?
I have a fanart.tv api key set.

I'm using a MySQL library and I'm not having any issues. A debug log might give me more information, try both "Select artwork..." and "Add missing artwork" on a couple of items.

Code:
18:12:47.628 T:4656   ERROR: SQL: [MyVideos107] The table does not exist
                                            Query: DELETE FROM tag_link WHERE media_id=59 AND media_type='tvshow'
18:12:47.629 T:4656   ERROR: EXCEPTION: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
18:12:47.632 T:4656   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.RuntimeError'>
                                            Error Contents: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
                                            Traceback (most recent call last):
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 234, in <module>
                                                ArtworkService().run()
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 87, in run
                                                if self.process_oldandunprocesseditems():
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 155, in process_oldandunprocesseditems
                                                return self.process_allitems(self.processed.is_stale)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 177, in process_allitems
                                                return self.processor.process_medialist(items)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocessor.py", line 171, in process_medialist
                                                services_hit = self._process_item(gatherer, mediaitem)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocessor.py", line 252, in _process_item
                                                add_art_to_library(mediatype, mediaitem.get('seasons'), mediaitem['dbid'], mediaitem['selected art'])
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocessor.py", line 438, in add_art_to_library
                                                for arttype, url in selectedart.iteritems() if '.' not in arttype))
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\mediainfo.py", line 105, in update_art_in_library
                                                quickjson.set_details(dbid, mediatype, art=updatedart)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\quickjson.py", line 152, in set_details
                                                json_result = pykodi.execute_jsonrpc(json_request)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\pykodi.py", line 100, in execute_jsonrpc
                                                json_result = xbmc.executeJSONRPC(jsonrpc_command)
                                            RuntimeError: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
                                            -->End of Python script error report<--
Reply
#69
Krypton rc17.3, same on nightlys. Fresh clean kodi and empty fresh sqldb. Movies ok, tv borks...

Code:
18:22:52.662 T:2792   DEBUG: CAddonDatabase: SELECT repo.id FROM repo .. took 0 ms
18:22:52.675 T:2792   DEBUG: CAddonDatabase: query  SELECT * FROM addons JOIN addonlinkrepo ON addons.id=addonlinkrepo.idAddon WHERE addonlinkrepo.idRepo IN (1,2,3) ORDER BY addons.addonID returned 1030 rows in 13 ms
18:22:52.693 T:3028   DEBUG: CAddonMgr::GetAvailableUpdates took 13 ms
18:22:52.769 T:2792   DEBUG: Previous line repeats 1 times.
18:22:52.769 T:2792   DEBUG: CAddonDatabase::GetAddons took 107 ms
18:22:55.621 T:3144   DEBUG: CInputManager::ProcessMouse: trying mouse action leftclick
18:22:55.621 T:84   DEBUG: Thread LanguageInvoker start, auto delete: false
18:22:55.621 T:84    INFO: initializing python engine.
18:22:55.622 T:84   DEBUG: CPythonInvoker(3, C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py): start processing
18:22:55.732 T:84   DEBUG: -->Python Interpreter Initialized<--
18:22:55.732 T:84   DEBUG: CPythonInvoker(3, C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py): the source file to load is "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py"
18:22:55.732 T:84   DEBUG: CPythonInvoker(3, C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py): setting the Python path to C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef;C:\Users\dan\AppData\Roaming\Kodi\addons\script.common.plugin.cache\lib;C:\Users\dan\AppData\Roaming\Kodi\addons\script.module.requests\lib;C:\Users\dan\AppData\Roaming\Kodi\addons\script.module.simplejson\lib;C:\Program Files (x86)\Kodi\system\python\DLLs;C:\Program Files (x86)\Kodi\system\python\Lib;C:\Program Files (x86)\Kodi\python27.zip;C:\Program Files (x86)\Kodi\system\python\lib\plat-win;C:\Program Files (x86)\Kodi\system\python\lib\lib-tk;C:\Program Files (x86)\Kodi;C:\Program Files (x86)\Kodi\system\python;C:\Program Files (x86)\Kodi\system\python\lib\site-packages
18:22:55.732 T:84   DEBUG: CPythonInvoker(3, C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py): entering source directory C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef
18:22:55.732 T:84   DEBUG: CPythonInvoker(3, C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py): instantiating addon using automatically obtained id of "script.artwork.beef" dependent on version 2.19.0 of the xbmc.python api
18:22:56.178 T:84   DEBUG: JSONRPC: Incoming request: {"params": {"properties": ["name", "version"]}, "jsonrpc": "2.0", "method": "Application.GetProperties", "id": 1}
18:22:56.236 T:3144   DEBUG: ------ Window Init (DialogSelect.xml) ------
18:22:56.236 T:3144    INFO: Loading skin file: DialogSelect.xml, load type: KEEP_IN_MEMORY
18:23:00.625 T:3144   DEBUG: CInputManager::ProcessMouse: trying mouse action leftclick
18:23:00.871 T:3144   DEBUG: ------ Window Deinit (DialogSelect.xml) ------
18:23:00.886 T:84    INFO: CPythonInvoker(3, C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py): script successfully run
18:23:00.906 T:5104   DEBUG: CAnnouncementManager - Announcement: ProcessAllItems from script.artwork.beef
18:23:00.906 T:5104   DEBUG: GOT ANNOUNCEMENT, type: 512, from script.artwork.beef, message ProcessAllItems
18:23:00.911 T:84    INFO: Python script stopped
18:23:00.911 T:84   DEBUG: Thread LanguageInvoker 84 terminating
18:23:01.011 T:3144   DEBUG: ------ Window Init (DialogExtendedProgressBar.xml) ------
18:23:03.286 T:4704   DEBUG: JSONRPC: Incoming request: {"params": {"properties": ["version"]}, "jsonrpc": "2.0", "method": "Application.GetProperties", "id": 1}
18:23:03.287 T:4704   DEBUG: JSONRPC: Incoming request: {"params": {"sort": {"method": "sorttitle", "order": "ascending"}, "properties": ["art", "imdbnumber", "file", "premiered"]}, "jsonrpc": "2.0", "method": "VideoLibrary.GetMovies", "id": 1}
18:23:03.353 T:4704   DEBUG: CVideoDatabase::RunQuery took 12 ms for 0 items query: select * from movie_view
18:23:03.354 T:4704   DEBUG: JSONRPC: Incoming request: {"params": {"sort": {"method": "sorttitle", "order": "ascending"}, "properties": ["art"]}, "jsonrpc": "2.0", "method": "VideoLibrary.GetMovieSets", "id": 1}
18:23:03.410 T:4704   DEBUG: CVideoDatabase::RunQuery took 9 ms for 0 items query: select * from movie_view  JOIN sets ON movie_view.idSet = sets.idSet ORDER BY sets.idSet
18:23:03.411 T:4704   DEBUG: JSONRPC: Incoming request: {"params": {"sort": {"method": "sorttitle", "order": "ascending"}, "properties": ["art", "imdbnumber", "season", "file", "premiered"]}, "jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "id": 1}
18:23:04.012 T:4704   DEBUG: CVideoDatabase::RunQuery took 554 ms for 66 items query: SELECT * FROM tvshow_view
18:23:04.294 T:4704    INFO: [script.artwork.beef] Processing 11.22.63
18:23:04.295 T:4704   DEBUG: JSONRPC: Incoming request: {"params": {"tvshowid": 59, "properties": ["season", "art"]}, "jsonrpc": "2.0", "method": "VideoLibrary.GetSeasons", "id": 1}
18:23:05.232 T:4704   DEBUG: CVideoDatabase::RunQuery took 891 ms for 1 items query: SELECT * FROM season_view  WHERE season_view.idShow = 59
18:23:06.340 T:4704   DEBUG: JSONRPC: Incoming request: {"params": {"tvshowid": 59, "art": {"clearlogo": "smb://NSA320S/tv/11.22.63/logo.png", "characterart": "smb://NSA320S/tv/11.22.63/character.png", "fanart3": "smb://NSA320S/tv/11.22.63/extrafanart/1118390.jpg", "clearart": "smb://NSA320S/tv/11.22.63/clearart.png", "fanart5": "smb://NSA320S/tv/11.22.63/extrafanart/1123867.jpg", "fanart4": "smb://NSA320S/tv/11.22.63/extrafanart/1123777.jpg", "fanart7": "smb://NSA320S/tv/11.22.63/extrafanart/fanart1.jpg", "fanart6": "smb://NSA320S/tv/11.22.63/extrafanart/1136524.jpg", "fanart1": "smb://NSA320S/tv/11.22.63/extrafanart/1102972.jpg", "landscape": "smb://NSA320S/tv/11.22.63/landscape.jpg", "fanart2": "smb://NSA320S/tv/11.22.63/extrafanart/1105168.jpg"}}, "jsonrpc": "2.0", "method": "VideoLibrary.SetTVShowDetails", "id": 1}
18:23:06.795 T:4704   DEBUG: Mysql execute: DELETE FROM tag_link WHERE media_id=59 AND media_type='tvshow'
18:23:06.799 T:4704   ERROR: SQL: [MyVideos107] The table does not exist
                                            Query: DELETE FROM tag_link WHERE media_id=59 AND media_type='tvshow'
18:23:06.799 T:4704   ERROR: EXCEPTION: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
18:23:06.801 T:4704   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.RuntimeError'>
                                            Error Contents: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
                                            Traceback (most recent call last):
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 234, in <module>
                                                ArtworkService().run()
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 83, in run
                                                self.process_allitems()
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 177, in process_allitems
                                                return self.processor.process_medialist(items)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocessor.py", line 171, in process_medialist
                                                services_hit = self._process_item(gatherer, mediaitem)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocessor.py", line 252, in _process_item
                                                add_art_to_library(mediatype, mediaitem.get('seasons'), mediaitem['dbid'], mediaitem['selected art'])
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocessor.py", line 438, in add_art_to_library
                                                for arttype, url in selectedart.iteritems() if '.' not in arttype))
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\mediainfo.py", line 105, in update_art_in_library
                                                quickjson.set_details(dbid, mediatype, art=updatedart)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\quickjson.py", line 152, in set_details
                                                json_result = pykodi.execute_jsonrpc(json_request)
                                              File "C:\Users\dan\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\pykodi.py", line 100, in execute_jsonrpc
                                                json_result = xbmc.executeJSONRPC(jsonrpc_command)
                                            RuntimeError: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
                                            -->End of Python script error report<--
18:23:06.803 T:3144   DEBUG: ------ Window Init (DialogNotification.xml) ------
18:23:06.827 T:4704    INFO: Python script stopped
18:23:06.827 T:4704   DEBUG: Thread LanguageInvoker 4704 terminating
18:23:07.021 T:3144   DEBUG: ------ Window Deinit (DialogExtendedProgressBar.xml) ------
18:23:09.254 T:3144   DEBUG: Keyboard: scancode: 0x2b, sym: 0x005c, unicode: 0x005c, modifier: 0x0
18:23:09.254 T:3144   DEBUG: CInputManager::OnKey: backslash (0xf05c) pressed, action is ToggleFullScreen
18:23:09.254 T:3144   DEBUG: CWinSystemWin32::SetFullScreenEx (windowed) on screen 0 with size 1200x713, refresh 0.000000
18:23:09.254 T:3144   DEBUG: CWinSystemWin32::ResizeInternal - resizing due to size change (0,0,1920,1080 fullscreen)->(349,139,1571,908)
18:23:09.260 T:3144   DEBUG: CWinEventsWin32::WndProc: window move event
18:23:09.260 T:3144   DEBUG: CWinEventsWin32::WndProc: window resize event
18:23:09.261 T:3144   DEBUG: CRenderSystemDX::CreateWindowSizeDependentResources - (Re)Create window size (1200x713) dependent resources.
18:23:09.324 T:3144   DEBUG: ------ Window Deinit (Pointer.xml) ------
18:23:09.422 T:3144   DEBUG: Keyboard: scancode: 0x2b, sym: 0x005c, unicode: 0x0000, modifier: 0x0
18:23:10.754 T:3144   DEBUG: ------ Window Init (Pointer.xml) ------
18:23:11.873 T:3144   DEBUG: CWinEventsWin32::WndProcWindow is active
18:23:12.538 T:3144   DEBUG: ------ Window Deinit (DialogNotification.xml) ------
18:23:15.822 T:3144   DEBUG: ------ Window Deinit (Pointer.xml) ------
Reply
#70
(2017-07-25, 19:15)badaas Wrote:
Code:
18:12:47.628 T:4656   ERROR: SQL: [MyVideos107] The table does not exist
                                            Query: DELETE FROM tag_link WHERE media_id=59 AND media_type='tvshow'
18:12:47.629 T:4656   ERROR: EXCEPTION: Unknown exception thrown from the call "XBMCAddon::xbmc::executeJSONRPC"
...

Uhohh, looks like your database is damaged, table `tag_link` should definitely be there. That's a problem deeper than Artwork Beef. Restoring from a backup is probably your best bet for fixing this.

Can you try setting up a completely new database, and post the log of the first start, when Kodi is creating the new database? And double-check that the database doesn't exist at all, so that Kodi is creating a new one. Kodi should be making this table with all the rest, so there should be a log of the failure to create it here. I just created a fresh MySQL DB with Kodi 17.3 myself and the table was created OK, so something is up.
Reply
#71
Damnit, ok. That was a fresh SQL dB..
I have poster banner and fanart for TV, no errors until I try run beef or AD, same error.
Had deleted all SQL dB's from get go.

Will have another look
Reply
#72
I've released version 0.10.2, which will stop removing animated artwork set by the Skin Helper Service. I'd like to do more with animated artwork in the future, but in the meantime the Beef can at least stop acting like a butthead.

It will also stop repeatedly accessing a web service in a loop (and then pestering you with notifications) if one is consistently unavailable. Any media items added or updated while a web service is unavailable will be checked again the next day.
Reply
#73
Flippin hell that was a pain!! Finally had to remove mysql and reinstall, seems to be back to normal.. hopefully NAS survives reboot
Reply
#74
In my repo I changed the old separate context items to make it clear that Artwork Beef doesn't need them for Jarvis and later. I decided against allowing multiple season fanart to be selected, they are more for once off flair like episode fanart (not near as effective as episode fanart, but still). I'm considering a set of super advanced add-on settings that would allow you to flip those switches for all types of artwork.

I've also added an example for skins to display multiple fanart without using a plugin path, so they display just as quickly as directly accessing artwork. Big thanks to @Alanon for solving that puzzle!
Reply
#75
Unforunately this happens a lot with sets Sad And is virtually impossible to fix!).

Image
Image
Image
Reply
  • 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 96

Logout Mark Read Team Forum Stats Members Help
Artwork Beef - automatically add extended artwork5