• 1
  • 168
  • 169
  • 170(current)
  • 171
  • 172
  • 197
[RELEASE] Texture Cache Maintenance utility
@Milhouse
After the update movies top250 tag stop working....

Error as below and appreciate some help. All other imdb tags are working.


GTX’s:Kodi_Scripts dann$ ./texturecache.py imdb movies @imdb.fields.movies=top250 | ./texturecache.py set
Traceback (most recent call last):.
  File "./texturecache.py", line 8622, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 8430, in main
    extraFields=_extraFields, query=_query, drop_items=_drop_items)
  File "./texturecache.py", line 4672, in jsonQuery
    updateIMDb(mediatype, jcomms, data)
  File "./texturecache.py", line 5921, in updateIMDb
    movies250 = MyUtility.Top250MovieList()
  File "./texturecache.py", line 4107, in Top250MovieList
    table = ET.fromstring(data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1735, column 64
Traceback (most recent call last):
  File "./texturecache.py", line 8622, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 8531, in main
    setDetails_batch(dryRun=dryRun)
  File "./texturecache.py", line 6228, in setDetails_batch
    jdata = json.loads("".join(data))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

LOG (Without the Movies info)
===================
python:

2018-09-28 17:24:49.660927:MainThread: Command line args: ['./texturecache.py', 'imdb', 'movies', '@imdb.fields.movies=top250', '@logfile=/Users/dann/Kodi_Scripts/tc.log']
2018-09-28 17:24:49.661008:MainThread: Current version #: v2.4.5
2018-09-28 17:24:49.661036:MainThread: Current platform : darwin
2018-09-28 17:24:49.661063:MainThread: Python  version #: v2.7.10.0 (final)
2018-09-28 17:24:49.661139:MainThread: libVersion.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "method": "JSONRPC.Version", "id": "libVersion"}]
2018-09-28 17:24:49.666490:MainThread: RPC connection established with IPv6
2018-09-28 17:24:49.666699:MainThread: libVersion.BUFFER RECEIVED (len 88)
2018-09-28 17:24:49.666784:MainThread: libVersion.PARSING JSON DATA: {"id":"libVersion","jsonrpc":"2.0","result":{"version":{"major":8,"minor":0,"patch":0}}}
2018-09-28 17:24:49.666826:MainThread: libVersion.PARSING COMPLETE, elapsed time: 0.000076 seconds
2018-09-28 17:24:49.666859:MainThread: libVersion.FINISHED, elapsed time: 0.005689 seconds
2018-09-28 17:24:49.666942:MainThread: JSON CAPABILITIES: {'dpmsnotify': True, 'isodates': True, 'setsettings': True, 'removeart': True, 'setseason': True, 'musichasart': False, 'setresume': True, 'codecinforemoved': True, 'filternullval': True, 'votesnogrouping': True, 'libshowdialogs': True, 'refreshrefactor': True, 'openplayercoredef': True, 'texturedb': True, 'playerprocessinfo': True, 'profiledirectory': False, 'debugextralog': True, 'setmovieset': True, 'profilesupport': True, 'exitcode': True}
2018-09-28 17:24:49.666996:MainThread: libProfile.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"properties": ["thumbnail", "lockmode"]}, "method": "Profiles.GetProfiles", "id": "libProfile"}]
2018-09-28 17:24:49.667216:MainThread: libProfile.BUFFER RECEIVED (len 150)
2018-09-28 17:24:49.667285:MainThread: libProfile.PARSING JSON DATA: {"id":"libProfile","jsonrpc":"2.0","result":{"limits":{"end":1,"start":0,"total":1},"profiles":[{"label":"Master user","lockmode":0,"thumbnail":""}]}}
2018-09-28 17:24:49.667325:MainThread: libProfile.PARSING COMPLETE, elapsed time: 0.000060 seconds
2018-09-28 17:24:49.667359:MainThread: libProfile.RECEIVED LIMITS: {u'start': 0, u'total': 1, u'end': 1}
2018-09-28 17:24:49.667387:MainThread: libProfile.FINISHED, elapsed time: 0.000361 seconds
2018-09-28 17:24:49.667441:MainThread: libProfile.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"properties": ["thumbnail", "lockmode"]}, "method": "Profiles.GetCurrentProfile", "id": "libProfile"}]
2018-09-28 17:24:49.667608:MainThread: libProfile.BUFFER RECEIVED (len 96)
2018-09-28 17:24:49.667653:MainThread: libProfile.PARSING JSON DATA: {"id":"libProfile","jsonrpc":"2.0","result":{"label":"Master user","lockmode":0,"thumbnail":""}}
2018-09-28 17:24:49.667686:MainThread: libProfile.PARSING COMPLETE, elapsed time: 0.000044 seconds
2018-09-28 17:24:49.667715:MainThread: libProfile.FINISHED, elapsed time: 0.000238 seconds
2018-09-28 17:24:49.667752:MainThread: CURRENT PROFILE: {u'lockmode': 0, 'directory': '', 'tc.profilepath': '/Users/dann/Library/Application\\ Support/Kodi/userdata/', u'thumbnail': u'', u'label': u'Master user'}
2018-09-28 17:24:49.667792:MainThread: libPVR.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"properties": ["available"]}, "method": "PVR.GetProperties", "id": "libPVR"}]
2018-09-28 17:24:49.667942:MainThread: libPVR.BUFFER RECEIVED (len 93)
2018-09-28 17:24:49.668002:MainThread: libPVR.PARSING JSON DATA: {"error":{"code":-32100,"message":"Failed to execute method."},"id":"libPVR","jsonrpc":"2.0"}
2018-09-28 17:24:49.668041:MainThread: libPVR.PARSING COMPLETE, elapsed time: 0.000052 seconds
2018-09-28 17:24:49.668072:MainThread: libPVR.FINISHED, elapsed time: 0.000252 seconds
2018-09-28 17:24:49.668887:MainThread: CONFIG VALUES: 
{
  "ADD_SET_MEMBERS": true, 
  "ADD_SONG_MEMBERS": false, 
  "ALL_PROFILES": {
    "Master user": {
      "directory": "", 
      "label": "Master user", 
      "lockmode": 0, 
      "tc.profilepath": "/Users/dann/Library/Application\\ Support/Kodi/userdata/", 
      "thumbnail": ""
    }
  }, 
  "ANALYTICS_GOOD": "http://goo.gl/BjH6Lj", 
  "AUDIO_FILETYPES_EX": [], 
  "AUTOUPDATE": true, 
  "BIN_CECCONTROL": "", 
  "BIN_TVSERVICE": "/usr/bin/tvservice", 
  "BIN_VCGENCMD": "/usr/bin/vcgencmd", 
  "CACHE_ARTWORK": [], 
  "CACHE_CAST_THUMB": false, 
  "CACHE_DROP_INVALID_FILE": "", 
  "CACHE_EXTRA": false, 
  "CACHE_EXTRA_FANART": false, 
  "CACHE_EXTRA_THUMBS": false, 
  "CACHE_HIDEALLITEMS": false, 
  "CACHE_IGNORE_TYPES": [
    "^video", 
    "^music"
  ], 
  "CACHE_REFRESH": "", 
  "CACHE_VIDEO_EXTRAS": false, 
  "CHECKUPDATE": true, 
  "CHUNKED": true, 
  "CLEAN_SHOW_DIALOGS": false, 
  "CONFIG_NAME": "texturecache.cfg", 
  "CURRENT_PROFILE": {
    "directory": "", 
    "label": "Master user", 
    "lockmode": 0, 
    "tc.profilepath": "/Users/dann/Library/Application\\ Support/Kodi/userdata/", 
    "thumbnail": ""
  }, 
  "DBJSON": "auto", 
  "DCACHE_AGELIMIT": 180, 
  "DCACHE_SIZE": 2048, 
  "DEBUG": false, 
  "DOWNLOAD_PAYLOAD": true, 
  "DOWNLOAD_PREDELETE": false, 
  "DOWNLOAD_PRIME": true, 
  "DOWNLOAD_RETRY": 3, 
  "DOWNLOAD_THREADS": {
    "download.threads.addons": 20, 
    "download.threads.albums": 20, 
    "download.threads.artists": 20, 
    "download.threads.movies": 20, 
    "download.threads.pvr.radio": 20, 
    "download.threads.pvr.tv": 20, 
    "download.threads.sets": 20, 
    "download.threads.songs": 20, 
    "download.threads.tags": 20, 
    "download.threads.tvshows": 20
  }, 
  "DOWNLOAD_THREADS_DEFAULT": 20, 
  "FILENAME": "texturecache.cfg", 
  "FILTER_FIELD": "", 
  "FILTER_OPERATOR": "contains", 
  "FSEP": "|", 
  "GITHUB": "https://raw.github.com/MilhouseVH/texturecache.py/master", 
  "GLOBAL_SECTION": "global", 
  "HAS_PVR": false, 
  "HAS_THUMBNAILS_FS": false, 
  "HDMI_FORCE_HOTPLUG": false, 
  "HDMI_IGNORE_DISABLE": false, 
  "HDMI_IGNORE_LIBRARY": false, 
  "HDMI_IGNORE_PLAYER": false, 
  "HDMI_IGNORE_SUSPEND": false, 
  "IDFORMAT": "%06d", 
  "IGNORE_PLAYLISTS": true, 
  "IMDB_DEL_PARENTHESIS": true, 
  "IMDB_FIELDS_MOVIES": [
    "top250"
  ], 
  "IMDB_FIELDS_TVSHOWS": [
    "votes", 
    "rating", 
    "title", 
    "runtime", 
    "plot"
  ], 
  "IMDB_GROUPING": ",", 
  "IMDB_IGNORE_MISSING_EPISODES": false, 
  "IMDB_IGNORE_TVTITLES": [], 
  "IMDB_MAP_TVTITLES": [], 
  "IMDB_PERIOD": null, 
  "IMDB_PERIOD_FROM": null, 
  "IMDB_RETRY": 3, 
  "IMDB_THREADS": 10, 
  "IMDB_TIMEOUT": 15.0, 
  "IMDB_TRANSLATE_TVTITLES": [], 
  "IMDB_TRANSLATE_TVYEARS": [], 
  "JSON_CODEC_INFO_REMOVED": true, 
  "JSON_HAS_DEBUG_EXTRA_LOG": true, 
  "JSON_HAS_DPMS_NOTIFY": true, 
  "JSON_HAS_EXIT_CODE": true, 
  "JSON_HAS_FILTERNULLVALUE": true, 
  "JSON_HAS_ISO_DATES": true, 
  "JSON_HAS_LIB_SHOWDIALOGS_PARAM": true, 
  "JSON_HAS_OPEN_PLAYERCORE_DEFAULT": true, 
  "JSON_HAS_PROFILE_DIRECTORY": false, 
  "JSON_HAS_PROFILE_SUPPORT": true, 
  "JSON_HAS_REFRESH_REFACTOR": true, 
  "JSON_HAS_SETMOVIESET": true, 
  "JSON_HAS_SETNULL": true, 
  "JSON_HAS_SETRESUME": true, 
  "JSON_HAS_SETSEASON": true, 
  "JSON_HAS_TEXTUREDB": true, 
  "JSON_PLAYER_PROCESS_INFO": true, 
  "JSON_VER": [
    8, 
    0, 
    0
  ], 
  "JSON_VER_CAPABILITIES": {
    "codecinforemoved": [
      7, 
      21, 
      0
    ], 
    "debugextralog": [
      6, 
      15, 
      3
    ], 
    "dpmsnotify": [
      6, 
      16, 
      0
    ], 
    "exitcode": [
      6, 
      21, 
      0
    ], 
    "filternullval": [
      6, 
      13, 
      1
    ], 
    "isodates": [
      6, 
      13, 
      2
    ], 
    "libshowdialogs": [
      6, 
      19, 
      0
    ], 
    "musichasart": [
      9, 
      4, 
      2
    ], 
    "openplayercoredef": [
      6, 
      18, 
      3
    ], 
    "playerprocessinfo": [
      7, 
      20, 
      0
    ], 
    "profiledirectory": [
      999, 
      99, 
      9
    ], 
    "profilesupport": [
      6, 
      6, 
      0
    ], 
    "refreshrefactor": [
      6, 
      27, 
      0
    ], 
    "removeart": [
      6, 
      9, 
      1
    ], 
    "setmovieset": [
      6, 
      12, 
      0
    ], 
    "setresume": [
      6, 
      2, 
      0
    ], 
    "setseason": [
      6, 
      10, 
      0
    ], 
    "setsettings": [
      6, 
      13, 
      0
    ], 
    "texturedb": [
      6, 
      9, 
      0
    ], 
    "votesnogrouping": [
      7, 
      1, 
      0
    ]
  }, 
  "JSON_VER_STR": "v8.0.0", 
  "JSON_VOTES_HAVE_NO_GROUPING": true, 
  "KODI_BASE": "/Users/dann/Library/Application\\ Support/Kodi/userdata/", 
  "KODI_HOST": "localhost", 
  "LASTRUNFILE": "", 
  "LASTRUNFILE_DATETIME": null, 
  "LOGDCACHE": false, 
  "LOGFILE": "/Users/dann/Kodi_Scripts/tc.log", 
  "LOGUNIQUE": false, 
  "LOGVERBOSE": true, 
  "LOG_REPLAY_FILENAME": "", 
  "MAC_ADDRESS": "", 
  "MDATE_MDY": false, 
  "MISSING_IGNORE_PATTERNS": [], 
  "OMDB_API_KEY": "6bdb237e", 
  "ORPHAN_LIMIT_CHECK": true, 
  "PICTURE_FILETYPES_EX": [], 
  "POSTER_WIDTH": 5, 
  "PROFILE_AUTOLOAD": true, 
  "PROFILE_DIRECTORY": "", 
  "PROFILE_ENABLED": true, 
  "PROFILE_ENCRYPTED": false, 
  "PROFILE_MASTER": "Master user", 
  "PROFILE_NAME": "Master user", 
  "PROFILE_PASSWORD": "", 
  "PROFILE_RETRY": 60, 
  "PROFILE_WAIT": 0, 
  "PRUNE_RETAIN_CHAPTERS": true, 
  "PRUNE_RETAIN_PICTURES": false, 
  "PRUNE_RETAIN_PREVIEWS": true, 
  "PRUNE_RETAIN_TYPES": [], 
  "PURGE_MIN_LEN": 5, 
  "QADATE": "2018-09-18", 
  "QAPERIOD": 10, 
  "QA_FAIL_CHECKEXISTS": true, 
  "QA_FAIL_MISSING_LOCAL_ART": false, 
  "QA_FAIL_TYPES": [
    "^video", 
    "^music"
  ], 
  "QA_FIELDS": {
    "qa.art.addons": "thumbnail", 
    "qa.art.agenres": "thumbnail", 
    "qa.art.albums": "fanart, thumbnail", 
    "qa.art.artists": "fanart, thumbnail", 
    "qa.art.movies": "fanart, poster", 
    "qa.art.musicvideos": null, 
    "qa.art.pvr.radio": null, 
    "qa.art.pvr.radio.channel": "thumbnail", 
    "qa.art.pvr.tv": null, 
    "qa.art.pvr.tv.channel": "thumbnail", 
    "qa.art.sets": "fanart, poster", 
    "qa.art.songs": "fanart, thumbnail", 
    "qa.art.tvshows.episode": "thumb", 
    "qa.art.tvshows.season": "poster", 
    "qa.art.tvshows.tvshow": "fanart, banner, poster", 
    "qa.art.vgenres": "thumbnail", 
    "qa.blank.addons": null, 
    "qa.blank.agenres": null, 
    "qa.blank.albums": null, 
    "qa.blank.artists": null, 
    "qa.blank.movies": "plot, mpaa", 
    "qa.blank.musicvideos": null, 
    "qa.blank.pvr.radio": null, 
    "qa.blank.pvr.radio.channel": null, 
    "qa.blank.pvr.tv": null, 
    "qa.blank.pvr.tv.channel": null, 
    "qa.blank.sets": null, 
    "qa.blank.songs": null, 
    "qa.blank.tvshows.episode": "plot", 
    "qa.blank.tvshows.season": null, 
    "qa.blank.tvshows.tvshow": "plot", 
    "qa.blank.vgenres": null, 
    "qa.zero.addons": null, 
    "qa.zero.agenres": null, 
    "qa.zero.albums": null, 
    "qa.zero.artists": null, 
    "qa.zero.movies": null, 
    "qa.zero.musicvideos": null, 
    "qa.zero.pvr.radio": null, 
    "qa.zero.pvr.radio.channel": null, 
    "qa.zero.pvr.tv": null, 
    "qa.zero.pvr.tv.channel": null, 
    "qa.zero.sets": null, 
    "qa.zero.songs": null, 
    "qa.zero.tvshows.episode": null, 
    "qa.zero.tvshows.season": null, 
    "qa.zero.tvshows.tvshow": null, 
    "qa.zero.vgenres": null
  }, 
  "QA_FILE": false, 
  "QA_NFO_REFRESH": "", 
  "QA_USEOLDREFRESHMETHOD": true, 
  "QA_WARN_TYPES": [], 
  "QUERY_EPISODES": true, 
  "QUERY_SEASONS": true, 
  "RECACHEALL": true, 
  "RPC_CONNECTTIMEOUT": 0.5, 
  "RPC_IPVERSION": "6", 
  "RPC_PORT": "9090", 
  "RPC_RETRY": 12, 
  "SCAN_SHOW_DIALOGS": false, 
  "SEARCH_ENCODE": true, 
  "SINGLETHREAD_URLS": [
    "assets\\.fanart\\.tv"
  ], 
  "SUBTITLE_FILETYPES_EX": [], 
  "TEXTUREDB": "Database/Textures13.db", 
  "THIS_SECTION": "global", 
  "THUMBNAILS": "Thumbnails/", 
  "USEJSONDB": true, 
  "VERSION": "2.4.5", 
  "VIDEO_FILETYPES_EX": [], 
  "WATCHEDOVERWRITE": false, 
  "WEB_AUTH_TOKEN": null, 
  "WEB_CONNECTTIMEOUT": 0.5, 
  "WEB_PORT": "8080", 
  "WEB_SINGLESHOT": true, 
  "XTRAJSON": {
    "extrajson.addons": null, 
    "extrajson.agenres": null, 
    "extrajson.albums": null, 
    "extrajson.artists": null, 
    "extrajson.movies": null, 
    "extrajson.musicvideos": null, 
    "extrajson.pvr.radio": null, 
    "extrajson.pvr.radio.channel": null, 
    "extrajson.pvr.tv": null, 
    "extrajson.pvr.tv.channel": null, 
    "extrajson.sets": null, 
    "extrajson.songs": null, 
    "extrajson.tvshows.episode": null, 
    "extrajson.tvshows.season": null, 
    "extrajson.tvshows.tvshow": null, 
    "extrajson.vgenres": null
  }
}
2018-09-28 17:24:50.742241:MainThread: libMovies.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"sort": {"order": "ascending", "method": "title"}, "properties": ["title", "art", "imdbnumber", "top250"], "limits": {"start": 0, "end": 400}}, "method": "VideoLibrary.GetMovies", "id": "libMovies"}]
2018-09-28 17:24:50.746786:MainThread: RPC connection established with IPv6
2018-09-28 17:24:54.061361:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.061526:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.061643:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.061742:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.061796:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.061898:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.061962:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062023:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062091:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062165:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062260:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062319:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062378:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062438:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062497:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062557:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062616:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062684:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062747:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062807:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062867:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.062949:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063010:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063071:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063128:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063186:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063251:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063311:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063369:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063426:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063484:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063541:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063611:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063680:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063738:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063816:MainThread: libMovies.BUFFER RECEIVED (len 32768)
2018-09-28 17:24:54.063864:MainThread: libMovies.BUFFER RECEIVED (len 17468)
2018-09-28 17:24:54.079213:MainThread: libMovies.PARSING JSON DATA: 2018-09-28 17:25:18.696349:MainThread: libMovies.PARSING COMPLETE, elapsed time: 0.001118 seconds
2018-09-28 17:25:18.696417:MainThread: libMovies.RECEIVED LIMITS: {u'start': 3600, u'total': 3610, u'end': 3610}
2018-09-28 17:25:18.696470:MainThread: libMovies.FINISHED, elapsed time: 1.316813 seconds
2018-09-28 17:25:18.700607:MainThread: Top250: Retrieving Top250 Movies from: [http://top250.info/charts]
2018-09-28 17:25:21.685967:MainThread: Top250: Read 70972 bytes of data
2018-09-28 17:25:21.686113:MainThread: Top250: Data last updated [Sep 28, 2018 10:00]
2018-09-28 17:25:21.686494:MainThread: Top250: Table data found, 62381 bytes
2018-09-28 17:25:21.715512:MainThread: Top250: ERROR: failed to retrieve Top250 movie data: [not well-formed (invalid token): line 1735, column 64]
ERROR:root:** Terminating due to unexpected exception **
Traceback (most recent call last):
  File "./texturecache.py", line 8622, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 8430, in main
    extraFields=_extraFields, query=_query, drop_items=_drop_items)
  File "./texturecache.py", line 4672, in jsonQuery
    updateIMDb(mediatype, jcomms, data)
  File "./texturecache.py", line 5921, in updateIMDb
    movies250 = MyUtility.Top250MovieList()
  File "./texturecache.py", line 4107, in Top250MovieList
    table = ET.fromstring(data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 1735, column 64

Reply
(2018-09-28, 08:51)sniferx1 Wrote: @Milhouse
After the update movies top250 tag stop working....

I've pushed an update - v2.4.6.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2018-09-26, 18:22)Milhouse Wrote:
(2018-09-26, 16:13)ctawn Wrote: The odd thing is that when browsing the Movie library, the fanart and posters are shown. So the image files must be accessible somewhere.
Did you copy the Textures13.db and Thumbnails folders from your old machine to your new machine? The new machine will be finding and displaying the cached artwork.
I had indeed copied the whole userdata folder to a new machine. But I think this problem occurred on a previous migration, and was still using even older cached images. Lesson learned: Export Library is either useless, or I did it very wrong.
(2018-09-26, 18:22)Milhouse Wrote: Use mklocal.py - link at the bottom of the first post. You can use it to correct the artwork paths in your library. 
Seemed a little complicated to me with a big potential for error, so I refreshed every movie & tvshow in Kodi one by one. Tedious but I think it's a done.  Now how can I check?  How do I search all fanart and posters for a substring of the image:// path (pointing to the old stale media card) given in "fanart" and "poster"?

Then, how to purge all images containing the same substring of the path ("/media/sdcard/Library Exports/xbmc_videodb_2015-10-24") from Textures?

I ran "./texturecache.py p" and there are plenty… But also plenty of images that should be there, like backgrounds and addon & skin images. Also ran " ./texturecache.py s videodb_2015" and still pretty much all of them there.

Summary goals:

1. Verify that all fanart and posters now point to internet URLs (or images on accessible local file system).
2. remove all stale images from Textures DB that point to that old sdcard path, but only if they're totally orphaned. Smile

Thanks! (And BTW thanks again for this excellent utility and for your willingness to answer similar usage scenario questions over and over no doubt…)
Reply
(2018-09-28, 12:55)Milhouse Wrote:
(2018-09-28, 08:51)sniferx1 Wrote: @Milhouse
After the update movies top250 tag stop working....

I've pushed an update - v2.4.6. 
 Thanks and issue now fixed. Thanks for super quick update...
Reply
(2018-09-28, 14:08)ctawn Wrote: 1. Verify that all fanart and posters now point to internet URLs (or images on accessible local file system).
2. remove all stale images from Textures DB that point to that old sdcard path, but only if they're totally orphaned. Smile

1. You can use texturecache.py jd movies to view the artwork URLs in your media library
2. Just run texturecache.py P - that will remove any artwork from the cache that isn't referenced by the media library.

Backgrounds, skin images and other transient artwork will re-cache themselves as you use them.

If you really just want to remove artwork based on a specific substring then try texturecache.py purge all "/media/sdcard/Library Exports/xbmc_videodb_2015-10-24".
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2018-09-28, 05:18)Milhouse Wrote:
(2018-09-28, 03:16)knappster Wrote: @Milhouse, thanks for this script. I saw that my thumbnails directory was getting bloated and I was able to reduce the size by half when running
Code:
texturecache.py P

I was hoping to setup a cron job to run this weekly, but I've noticed that it errors out if kodi is not running at the time that the script is run. I just wanted to check if there is a workaround for this or if it is just a limitation. Either way, thanks for sharing your efforts with us.

No workaround, Kodi is required.

Thanks for clarifying. I will adjust my cron job to run when kodi is likely open then.
Reply
@Milhouse Getting the same error for the imdb top250. All other tags are working. I did post the same in page 170 and you fixed it.

Logs:
Java:

GTX’s:Kodi_Scripts dann$ ./texturecache.py imdb movies @imdb.fields.movies=top250 | ./texturecache.py set
Traceback (most recent call last):.
  File "./texturecache.py", line 8628, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 8436, in main
    extraFields=_extraFields, query=_query, drop_items=_drop_items)
  File "./texturecache.py", line 4678, in jsonQuery
    updateIMDb(mediatype, jcomms, data)
  File "./texturecache.py", line 5927, in updateIMDb
    movies250 = MyUtility.Top250MovieList()
  File "./texturecache.py", line 4113, in Top250MovieList
    table = ET.fromstring(newdata)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
xml.etree.ElementTree.ParseError: undefined entity: line 1742, column 63
Traceback (most recent call last):
  File "./texturecache.py", line 8628, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 8537, in main
    setDetails_batch(dryRun=dryRun)
  File "./texturecache.py", line 6234, in setDetails_batch
    jdata = json.loads("".join(data))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
GTX’s:Kodi_Scripts dann$ 
Reply
(2018-10-24, 09:56)sniferx1 Wrote: @Milhouse Getting the same error for the imdb top250. All other tags are working. I did post the same in page 170 and you fixed it.

More garbage entities. Fix pushed (v2.4.7). Thanks.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Hm, the script seems to have been broken by something in the recent nightlies.  I just updated to KodiSetup-20181116-5bcc6f9a-master-x64.exe on Windows 10 and now I just get:

php:
FATAL: The task you wish to perform requires that a JSON-RPC server with
       version 6 or above of the Kodi JSON-RPC API is provided.

       The JSON-RPC API version of the connected server is: 0 (0 means unknown)

       Check settings in properties file texturecache.cfg

edit: Jumped back a bit and worked forward until I re-hit the problem.  The last working version was KodiSetup-20181110-daf3607e-master-x64.exe.

KodiSetup-20181111-c895e84b-master-x64.exe and onward make the script throw the above error.
Reply
(2018-11-17, 12:50)beeswax Wrote: KodiSetup-20181111-c895e84b-master-x64.exe and onward make the script throw the above error.

With the above version of Kodi, can you run texturecache.py @logfile=tc.log status and upload the content of tc.log to a pastebin site (and paste the link).

I'm not seeing a problem with Kodi on Linux (LibreELEC, with latest Kodi master).
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Here we go:
php:
2018-11-17 13:18:17.290234:MainThread: Command line args: ['C:\\temp\\texturecache.py', '@logfile=tc.log', 'status']
2018-11-17 13:18:17.290234:MainThread: Current version #: v2.4.7
2018-11-17 13:18:17.290234:MainThread: Current platform : win32
2018-11-17 13:18:17.290234:MainThread: Python  version #: v3.6.6.0 (final)
2018-11-17 13:18:17.290234:MainThread: libVersion.JSON SOCKET REQUEST: [{"method": "JSONRPC.Version", "jsonrpc": "2.0", "id": "libVersion"}]
2018-11-17 13:18:17.292215:MainThread: RPC connection established with IPv6
2018-11-17 13:18:17.292215:MainThread: libVersion.BUFFER RECEIVED (len 88)
2018-11-17 13:18:17.293213:MainThread: libVersion.PARSING JSON DATA: {"id":"libVersion","jsonrpc":"2.0","result":{"version":{"major":0,"minor":7,"patch":2}}}
2018-11-17 13:18:17.293213:MainThread: libVersion.PARSING COMPLETE, elapsed time: 0.000997 seconds
2018-11-17 13:18:17.293213:MainThread: libVersion.FINISHED, elapsed time: 0.002979 seconds
2018-11-17 13:18:17.293213:MainThread: JSON CAPABILITIES: {'setresume': False, 'profilesupport': False, 'texturedb': False, 'removeart': False, 'setseason': False, 'setmovieset': False, 'setsettings': False, 'filternullval': False, 'isodates': False, 'debugextralog': False, 'dpmsnotify': False, 'openplayercoredef': False, 'libshowdialogs': False, 'exitcode': False, 'refreshrefactor': False, 'votesnogrouping': False, 'playerprocessinfo': False, 'codecinforemoved': False, 'musichasart': False, 'profiledirectory': False}
2018-11-17 13:18:17.293213:MainThread: libPVR.JSON SOCKET REQUEST: [{"method": "PVR.GetProperties", "params": {"properties": ["available"]}, "jsonrpc": "2.0", "id": "libPVR"}]
2018-11-17 13:18:17.293213:MainThread: libPVR.BUFFER RECEIVED (len 59)
2018-11-17 13:18:17.293213:MainThread: libPVR.PARSING JSON DATA: {"id":"libPVR","jsonrpc":"2.0","result":{"available":true}}
2018-11-17 13:18:17.293213:MainThread: libPVR.PARSING COMPLETE, elapsed time: 0.000000 seconds
2018-11-17 13:18:17.293213:MainThread: libPVR.FINISHED, elapsed time: 0.000000 seconds
Reply
Must be a bug in the Windows version:
text:

2018-11-17 13:18:17.293213:MainThread: libVersion.PARSING JSON DATA: {"id":"libVersion","jsonrpc":"2.0","result":{"version":{"major":0,"minor":7,"patch":2}}}
which now returns a JSON API version of 0.7.2, not 9.7.2.

This is what I see with my latest LibreELEC nightly build #1116:
text:

2018-11-17 13:45:42.978321:MainThread: libVersion.PARSING JSON DATA: {"id":"libVersion","jsonrpc":"2.0","result":{"version":{"major":9,"minor":7,"patch":2}}}

With the latest Kodi master (8b68a90123900c4e11e848144a26ca4e99ca3e55) on Linux, which has been bumped to JSON API v10.0.0 a few hours ago:
text:

2018-11-17 13:48:45.759956:MainThread: libVersion.PARSING JSON DATA: {"id":"libVersion","jsonrpc":"2.0","result":{"version":{"major":10,"minor":0,"patch":0}}}

The value being logged is the "raw" value returned by Kodi to the JSON query, so the problem is with Kodi - you should file a bug if it continues.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2018-11-17, 15:56)Milhouse Wrote: so the problem is with Kodi - you should file a bug if it continues.

This has been confirmed by a Team Kodi developer on Windows, and is being investigated. Thanks for the report.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
The JSON build issue with Windows should be fixed wth the next nightly.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Nice one Milhouse, thanks for letting the right people know about it.
Reply
  • 1
  • 168
  • 169
  • 170(current)
  • 171
  • 172
  • 197

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Texture Cache Maintenance utility17