Beta - Artwork Beef - automatically add extended artwork

  Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #31
I've updated Artwork Beef to version 0.8.0, which adds series season fanart/backdrops from fanart.tv, the option to mass-remove any existing artwork, expanded artwork cleanup, and other fixes throughout.

Season tags for backdrops from fanart.tv are sometimes missing, so the Beef can't associate them in Kodi automatically. You can set any fanart to a season yourself with the "Select artwork..." context item, or if it is clear the backdrop belongs to a season you can report it to fanart.tv. The folks there are fairly responsive to requests to update them; report the image, and in the text box include the season number and a quick half-sentence describing why it belongs in that season.

There is also a new button in the add-on settings that can remove all extra artwork not configured in the add-on. It comes with a new box to specify additional art types to keep, as well as the max number of each.

Finally, certain cleanup actions, like the previous URL fix and removing duplicate backdrops, run automatically for all items as they are processed.
find quote
komplex Offline
Fan
Posts: 601
Joined: Nov 2014
Reputation: 12
Post: #32
Getting this error from this morning using the latest Kodi nightly
PHP Code:
15:29:34.398 T:10712   ERROREXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - 
NOTEIGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            
Error Type: <type 'exceptions.AttributeError'>
                                            
Error Contents'dict' object has no attribute 'get_artwork_updates'
                                            
Traceback (most recent call last):
                                              
File "C:\Users\komplex\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py"line 265in <module>
                                                
ArtworkService().run()
                                              
File "C:\Users\komplex\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py"line 74in run
                                                self
.process_allitems()
                                              
File "C:\Users\komplex\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py"line 202in process_allitems
                                                processed 
self.processor.process_medialist(items)
                                              
File "C:\Users\komplex\AppData\Roaming\Kodi\addons\script.artwork.beef\resources\lib\a​rtworkprocessor.py"line 173in process_medialist
                                                cleaned 
mediaitem.get_artwork_updates(cleaner.clean_artwork(mediaitem), mediaitem['art'])
                                            
AttributeError'dict' object has no attribute 'get_artwork_updates'
                                            
-->End of Python script error report<-- 
(This post was last modified: 2016-11-23 17:37 by komplex.)
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #33
(2016-11-23 17:31)komplex Wrote:  Getting this error from this morning using the latest Kodi nightly
...

Whoops. I even found that during testing but somehow still left it in the final version. I'll push an updated version soon.

Edit: I've updated Artwork Beef to 0.8.1 with a fix for this error.
(This post was last modified: 2016-11-24 07:17 by rmrector.)
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #34
Version 0.9.0 is posted, with support for movie set artwork.

Set artwork is pulled from TheMovieDB and fanart.tv, which provide the same types of artwork as movies. Set artwork can also be grabbed from the file system, generally matching the same locations as Movie Set Artwork Automator.

Artwork Beef can now be installed with a single zip file. For Jarvis and above, the context item add-ons are integrated into the main add-on, so if you are upgrading, the separate context menu items can be uninstalled, "Select artwork to add" and "Add missing artwork". The dependency on my "Development Helper" has also been removed, so it can be uninstalled as well. Kodi 15 Isengard doesn't support the new context items, so keep the old ones installed. I expect to remove Isengard support completely soon, it is time to upgrade if you want new features.

The rest of the changelog

- Spread out checking for new artwork so they don't happen all at once (after the first run)
- Fix error when displaying non-ASCII characters in GUI
- Improve error handling for certain HTTP 5xx errors from fanart.tv
- Reduce TheMovieDB image rating sort adjustment
- Adjust TVDB image rating sort, so that an image with one rating of 10 doesn't end up at the top
- Move code from resources/lib to lib
find quote
komplex Offline
Fan
Posts: 601
Joined: Nov 2014
Reputation: 12
Post: #35
Excellent work love the movie set art addition
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #36
I've posted version 0.9.1, with a fix for setting season artwork.
find quote
KODser Offline
Senior Member
Posts: 213
Joined: Sep 2015
Reputation: 10
Location: Portugal
Post: #37
Is it possible to make a button on a custom window that has the same funcition as the "select artwork..." like skinners can do with the "artwork downloader"?

PHP Code:
<control type="button" id="9001">
                        <
label>$LOCALIZE[31203]</label>
                        <
onclick condition="Container.Content(tvshows)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=tvshowdbid=$INFO[ListItem.DBID])</onclick>
                        <
onclick condition="Container.Content(movies)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=moviedbid=$INFO[ListItem.DBID])</onclick>
                        <
onclick condition="Container.Content(musicvideos)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=musicvideodbid=$INFO[ListItem.DBID])</onclick>
                        <
description>Get Artwork</description>
 </
control

Really like this addon it changes the images right away (doesn't have the cache problems as artwork downloader) and it downloads movie sets artwork too.
(This post was last modified: 2017-03-17 01:35 by KODser.)
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #38
(2017-03-17 01:33)KODser Wrote:  Is it possible to make a button on a custom window that has the same funcition as the "select artwork..." like skinners can do with the "artwork downloader"?

...

There sure is: replace "script.artwork.downloader" with "script.artwork.beef". Artwork Beef doesn't support music videos so you can remove that line, but you will want to add new lines with "mediatype=set" and "mediatype=episode". "mode=auto" runs the automatic process.

PHP Code:
<control type="button" id="9001">
                        <
label>$LOCALIZE[31203]</label>
                        <
onclick condition="Container.Content(tvshows)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=tvshowdbid=$INFO[ListItem.DBID])</onclick>
                        <
onclick condition="Container.Content(movies)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=moviedbid=$INFO[ListItem.DBID])</onclick>
                        <
onclick condition="Container.Content(sets)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=setdbid=$INFO[ListItem.DBID])</onclick>
                        <
onclick condition="Container.Content(episodes)">XBMC.RunScript(script.artwork.downloadermode=guimediatype=episodedbid=$INFO[ListItem.DBID])</onclick>
                        <
description>Get Artwork</description>
 </
control
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #39
I've posted version 0.10.0.

It now checks for new artwork on old items only once per day, instead of being a bother throughout the day, which can be especially troublesome on low powered devices. There's also a new action to remove all of any specific type of artwork, available when running the add-on from Programs. Other small bits.
find quote
DANI940 Offline
Junior Member
Posts: 8
Joined: May 2017
Reputation: 0
Post: #40
Hi, I'm having problems, when I first install arwork beef the addon run very well, but suddenly it started to fail, I've done everything, like delete the source and re-add it and set it up, reinstall kodi from 0 and back to add the library and nothing has worked for me, this saddens me because my favorite skin is aeon mq7 in kodi dsplayer 16.1 with artwork downloader I had never been able to download the cdart, and the clearart I had to do it manually, but artwork beef did it!!!
It was fantastic, but now I do not know what's going on, I'm a new girl in this forum and my English is a bit limited. I don't know where to upload the log, could you help me please? I would greatly appreciate it because I would like to keep this great add-on.
.
(This post was last modified: 2017-05-08 21:31 by DANI940.)
find quote
DANI940 Offline
Junior Member
Posts: 8
Joined: May 2017
Reputation: 0
Post: #41
Forgive me if I make a mistake by uploading the log here.but this is my kodi log

ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'lib.libs.quickjson.JSONException'>
Error Contents: There was an error with a JSON-RPC request.
Request: {
"params": {
"properties": [
"season",
"art"
]
},
"jsonrpc": "2.0",
"method": "VideoLibrary.GetSeasons",
"id": 1
}
Result: {
"jsonrpc": "2.0",
"id": 1,
"error": {
"message": "Invalid params.",
"code": -32602,
"data": {
"method": "VideoLibrary.GetSeasons",
"stack": {
"message": "Missing parameter",
"type": "integer",
"name": "tvshowid"
}
}
}
}
Traceback (most recent call last):
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py", line 175, in <module>
main()
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py", line 45, in main
fixcount = runon_medialist(cleaner.remove_otherartwork, L(M.REMOVE_EXTRA_ARTWORK))
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\default.py", line 160, in runon_medialist
fixcount += update_art_for_items(list_fn(), start)
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\quickjson​.py", line 127, in get_seasons
if check_json_result(json_result, 'seasons', json_request):
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\libs\quickjson​.py", line 156, in check_json_result
raise JSONException(json_request, json_result)
JSONException: There was an error with a JSON-RPC request.
Request: {
"params": {
"properties": [
"season",
"art"
]
},
"jsonrpc": "2.0",
"method": "VideoLibrary.GetSeasons",
"id": 1
}
Result: {
"jsonrpc": "2.0",
"id": 1,
"error": {
"message": "Invalid params.",
"code": -32602,
"data": {
"method": "VideoLibrary.GetSeasons",
"stack": {
"message": "Missing parameter",
"type": "integer",
"name": "tvshowid"
}
}
}
}
-->End of Python script error report<--
21:22:34 T:5604 ERROR: C:\Program Files (x86)\Kodi\system\python\Lib\urllib.py:1288: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
return ''.join(map(quoter, s))
21:22:34 T:5604 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: (u'\xe1',)
Traceback (most recent call last):
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 234, in <module>
ArtworkService().run()
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 83, in run
self.process_allitems()
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\service.py", line 177, in process_allitems
return self.processor.process_medialist(items)
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocess​or.py", line 171, in process_medialist
services_hit = self._process_item(gatherer, mediaitem)
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\artworkprocess​or.py", line 223, in _process_item
forcedart, availableart, services_hit, error = gatherer.getartwork(mediaitem, auto)
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\gatherer.py", line 15, in getartwork
mediaitem.get('seasons'), not skipexisting)
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\gatherer.py", line 35, in get_forced_artwork
for arttype, image in provider.get_exact_images(mediafile).iteritems():
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\providers\nfof​ile.py", line 59, in get_exact_images
result[arttype] = self.build_resultimage(artelement.text.strip(), arttype)
File "C:\Users\DANI\AppData\Roaming\Kodi\addons\script.artwork.beef\lib\providers\nfof​ile.py", line 22, in build_resultimage
url = urllib.quote(url, safe="%/:=&?~#+!$,;'@()*[]")
File "C:\Program Files (x86)\Kodi\system\python\Lib\urllib.py", line 1288, in quote
return ''.join(map(quoter, s))
KeyError: (u'\xe1',)
-->End of Python script error report<--
21:22:52 T:6780 WARNING: CWin32DirectSound::GetSpace - buffer underrun - W:41040, P:29952, O:37016.
(This post was last modified: 2017-05-08 21:31 by DANI940.)
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #42
@DANI940 Thanks for the report. I've got a bead on both of these errors and I'll try to push an update out before too long.

That second error looks like it was caused by a character 'á' in a URL/path in one of your TV show nfo files, probably a show added just before this error started happening. Could you find that URL and post it here? I can fake something to test a fix, but checking it against your actual situation will help.
find quote
DANI940 Offline
Junior Member
Posts: 8
Joined: May 2017
Reputation: 0
Post: #43
I am very grateful for you having answered me, the 'á' character you refer to, where do I have to look for it? because as you know each series is inside its corresponding folder, and inside this folder there is a .strm .json .info file for each chapter of the tv show and at the end a file tvshow.info example:
Bloodline
1x01.strm
1x01.json
1x01.info
And at the end there is a single file '' tvshow.info '' where there the only url that exists is the url cache of the tvdv .. <url cache = "287314.xml"> http://www.thetvdb.com/api /1D62F2F90030C444/series/287314/all/en.zip </ url>
   </ Episodeguide>etc.etc
I checked one by one and I did not find anything abnormal and I did not see the character you mentioned in any of the series, anyway I'll wait patiently for the update you'll make to the addon

Sorry for duplicating the message was my mistake
(This post was last modified: 2017-05-10 22:26 by DANI940.)
find quote
DANI940 Offline
Junior Member
Posts: 8
Joined: May 2017
Reputation: 0
Post: #44
I am very grateful for you having answered me, the 'á' character you refer to, where do I have to look for it? because as you know each series is inside its corresponding folder, and inside this folder there is a .strm .json .info file for each chapter of the tv show and at the end a file tvshow.info example:
Bloodline
1x01.strm
1x01.json
1x01.info
And at the end there is a single file '' tvshow.info '' where there the only url that exists is the url cache of the tvdv .. <url cache = "287314.xml"> http://www.thetvdb.com/api /1D62F2F90030C444/series/287314/all/en.zip </ url>
   </ Episodeguide> etc,etc
I checked one by one and I did not find anything abnormal and I did not see the character you mentioned in any of the series, anyway I'll wait patiently for the update you'll make to the addon
find quote
rmrector Offline
Donor
Posts: 128
Joined: Sep 2010
Reputation: 12
Post: #45
I pushed out version 0.10.1 last night that should fix your issues, DANI940, plus a couple of other fixes.
find quote