Kodi Community Forum

Full Version: Special Features
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
(2020-04-13, 21:15)Tiny Clanger Wrote: [ -> ]I can't get the add-on to scan any extras — it seems to be objecting to characters in filenames which aren't 7-bit ASCII:

Code:

2020-04-13 20:02:08.211 T:3325678304    INFO: : smb://video@celestia/movies/2001 - A Space Odyssey (1968)/extras/Standing on the Shoulders of Kubrick — the Legacy of 2001.mkv
2020-04-13 20:02:08.366 T:3325678304   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeEncodeError'>
                                            Error Contents: 'ascii' codec can't encode character u'\u2014' in position 102: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/script.py", line 70, in <module>
                                                r.updateDB()
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/script.py", line 38, in updateDB
                                                resultFILTER().router(query)
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 45, in router
                                                self.verifyDir(self.checker)
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 95, in verifyDir
                                                self.t = self.getthumb(self.ef)
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 122, in getthumb
                                                if os.path.isfile(thumbname + ext):
                                              File "/usr/lib/python2.7/genericpath.py", line 37, in isfile
                                                st = os.stat(path)
                                            UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 102: ordinal not in range(128)
                                            -->End of Python script error report<--

I can rename the file in this case, of course — but there are probably plenty more, including some movies whose names have accents, or are even in Japanese. It's rather tedious to run a scan from my TV, then going upstairs to paw through the logs, find which file it didn't like, and rename it — especially since it will only fail on one file at a time Big Grin

Is there a way to get the add-on to use UTF-8 rather than the 'ascii' codec it appears to be using? (I'm afraid I don't know very much Python — we went through this in the Ruby world a while ago, so the pain is familiar…)

Debug log: https://paste.ubuntu.com/p/T8kXKMn3zF/
I can confirm having a similar issue on my install:

Code:
2020-05-26 12:30:31.757 T:7645   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.AttributeError'>
                                            Error Contents: 'NoneType' object has no attribute 'text'
                                            Traceback (most recent call last):
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/script.py", line 70, in <module>
                                                r.updateDB()
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/script.py", line 39, in updateDB
                                                resultFILTER().router(query2)
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 45, in router
                                                self.verifyDir(self.checker)
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 93, in verifyDir
                                                self.sf = ip_sf.upDate(self.ef)
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/importexport.py", line 119, in upDate
                                                self.vars()
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/importexport.py", line 126, in vars
                                                self.sorttitle = root.find('sorttitle').text
                                            AttributeError: 'NoneType' object has no attribute 'text'
                                            -->End of Python script error report<--
2020-05-26 12:30:31.757 T:7645   DEBUG: onExecutionDone(55, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/script.py)
2020-05-26 12:30:31.759 T:5698   DEBUG: ------ Window Init (DialogNotification.xml) ------
2020-05-26 12:30:31.988 T:7645    INFO: Python interpreter stopped
2020-05-26 12:30:31.988 T:7645   DEBUG: Thread LanguageInvoker 7645 terminating
(2020-05-26, 19:33)lhassell Wrote: [ -> ]
(2020-04-13, 21:15)Tiny Clanger Wrote: [ -> ]I can't get the add-on to scan any extras — it seems to be objecting to characters in filenames which aren't 7-bit ASCII:

Code:

2020-04-13 20:02:08.211 T:3325678304    INFO: : smb://video@celestia/movies/2001 - A Space Odyssey (1968)/extras/Standing on the Shoulders of Kubrick — the Legacy of 2001.mkv
2020-04-13 20:02:08.366 T:3325678304   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeEncodeError'>
                                            Error Contents: 'ascii' codec can't encode character u'\u2014' in position 102: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/script.py", line 70, in <module>
                                                r.updateDB()
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/script.py", line 38, in updateDB
                                                resultFILTER().router(query)
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 45, in router
                                                self.verifyDir(self.checker)
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 95, in verifyDir
                                                self.t = self.getthumb(self.ef)
                                              File "/home/osmc/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 122, in getthumb
                                                if os.path.isfile(thumbname + ext):
                                              File "/usr/lib/python2.7/genericpath.py", line 37, in isfile
                                                st = os.stat(path)
                                            UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 102: ordinal not in range(128)
                                            -->End of Python script error report<--

I can rename the file in this case, of course — but there are probably plenty more, including some movies whose names have accents, or are even in Japanese. It's rather tedious to run a scan from my TV, then going upstairs to paw through the logs, find which file it didn't like, and rename it — especially since it will only fail on one file at a time Big Grin

Is there a way to get the add-on to use UTF-8 rather than the 'ascii' codec it appears to be using? (I'm afraid I don't know very much Python — we went through this in the Ruby world a while ago, so the pain is familiar…)

Debug log: https://paste.ubuntu.com/p/T8kXKMn3zF/
I can confirm having a similar issue on my install:

Code:
2020-05-26 12:30:31.757 T:7645   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.AttributeError'>
                                            Error Contents: 'NoneType' object has no attribute 'text'
                                            Traceback (most recent call last):
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/script.py", line 70, in <module>
                                                r.updateDB()
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/script.py", line 39, in updateDB
                                                resultFILTER().router(query2)
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 45, in router
                                                self.verifyDir(self.checker)
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/iteration.py", line 93, in verifyDir
                                                self.sf = ip_sf.upDate(self.ef)
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/importexport.py", line 119, in upDate
                                                self.vars()
                                              File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/lib/importexport.py", line 126, in vars
                                                self.sorttitle = root.find('sorttitle').text
                                            AttributeError: 'NoneType' object has no attribute 'text'
                                            -->End of Python script error report<--
2020-05-26 12:30:31.757 T:7645   DEBUG: onExecutionDone(55, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.specialfeatures/script.py)
2020-05-26 12:30:31.759 T:5698   DEBUG: ------ Window Init (DialogNotification.xml) ------
2020-05-26 12:30:31.988 T:7645    INFO: Python interpreter stopped
2020-05-26 12:30:31.988 T:7645   DEBUG: Thread LanguageInvoker 7645 terminating

Looks like your trying to export to snfo and the sort title is not being read for one of the extras. the issue of UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 102: ordinal not in range(128) is because title has ascii text and the addon only reads utf-8 text. all of these issues could be fixed but I honestly do no have the time to do it as I have several other projects that i am in the middle of. If one of you wanted to take the time to go through and update this then i will be glad to accept a pull request. If no one wants to update it then i will just mark it broke for anything above k18 as i believe it will work up to that point correct? I am not sure anymore I havent used it in over a year.
(2020-05-27, 02:20)smitchell6879 Wrote: [ -> ]
(2020-05-26, 19:33)lhassell Wrote: [ -> ]
(2020-04-13, 21:15)Tiny Clanger Wrote: [ -> ] 
Looks like your trying to export to snfo and the sort title is not being read for one of the extras. the issue of UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 102: ordinal not in range(128) is because title has ascii text and the addon only reads utf-8 text. all of these issues could be fixed but I honestly do no have the time to do it as I have several other projects that i am in the middle of. If one of you wanted to take the time to go through and update this then i will be glad to accept a pull request. If no one wants to update it then i will just mark it broke for anything above k18 as i believe it will work up to that point correct? I am not sure anymore I havent used it in over a year.
I'd say it's the other way around — title has UTF-8 and the addon only reads ASCII — as ASCII is a subset of UTF-8 Smile

I wouldn't go marking it as broken for specific Kodi versions, though, as that shouldn't have any bearing on it. For starters, I'm running Kodi 18 and it's breaking there — but it's really down to Python 2's using ASCII by default rather than UTF-8 like Python 3. Of course, Python 3 is required for Kodi 19 IIRC, so it'll be broken for that anyway…

I'm planning to take a look at it, but I have little Python experience and even less time, so it might take a while.
(2020-05-31, 12:59)Tiny Clanger Wrote: [ -> ]I'd say it's the other way around — title has UTF-8 and the addon only reads ASCII … I'm planning to take a look at it, but I have little Python experience and even less time, so it might take a while. 
Yay. We'll wait with baited breath.
   ×
(2020-05-31, 14:43)ctawn Wrote: [ -> ]
(2020-05-31, 12:59)Tiny Clanger Wrote: [ -> ]I'd say it's the other way around — title has UTF-8 and the addon only reads ASCII … I'm planning to take a look at it, but I have little Python experience and even less time, so it might take a while. 
Yay. We'll wait with baited breath.
   ×

@Tiny Clanger you could always pitch in and help if things aren't getting done fast enough for you.
(2020-06-02, 06:10)smitchell6879 Wrote: [ -> ]
(2020-05-31, 14:43)ctawn Wrote: [ -> ]
(2020-05-31, 12:59)Tiny Clanger Wrote: [ -> ]I'd say it's the other way around — title has UTF-8 and the addon only reads ASCII … I'm planning to take a look at it, but I have little Python experience and even less time, so it might take a while. 
Yay. We'll wait with baited breath.
   × 

@Tiny Clanger you could always pitch in and help if things aren't getting done fast enough for you. 
That should be directed @ me (ctawn).  But I'm serious, we'll be waiting. I think many assume that users of Kodi can pitch in. I thik many of us are technical enough to submit logs and try to troubleshoot, but not enough to patch code and use GitHub. I for one am in the former category.
(2020-06-02, 14:01)ctawn Wrote: [ -> ]
(2020-06-02, 06:10)smitchell6879 Wrote: [ -> ]
(2020-05-31, 14:43)ctawn Wrote: [ -> ]Yay. We'll wait with baited breath.
   × 

@Tiny Clanger you could always pitch in and help if things aren't getting done fast enough for you. 
That should be directed @ me (ctawn).  But I'm serious, we'll be waiting. I think many assume that users of Kodi can pitch in. I thik many of us are technical enough to submit logs and try to troubleshoot, but not enough to patch code and use GitHub. I for one am in the former category.

Sorry your correct it was directed at you and I understand that not everyone knows how to write code. Actually this is one of the projects I did while teaching myself to code. I just find it disrespectful when someone makes smart remarks when some one is willing to pitch in. If Tiny does pitch in then great you get to benefit if it takes him a day or a year. If not then so what I am not going to support this anymore myself as I am working on something else that will incorporate this.
(2020-06-03, 05:52)smitchell6879 Wrote: [ -> ]I just find it disrespectful when someone makes smart remarks when some one is willing to pitch in.…I am not going to support this anymore myself as I am working on something else that will incorporate this. 
My apologies, meant no disrespect at all. Wrong phrase maybe, but I meant just the opposite, that we'll look forward to the fix. Glad you've got something else up your sleeve. Handling extras and special features and such better is one thing really needed in Kodi. It would be nice if it these sort of features became part of the official Kodi, so they didn't live and die as they do. Smile Anyway when released, please post in this thread, otherwise many of us are likely to miss it. Cheers.
Hi KodiTechs,
I have discovered that Special Features is no longer working for my environment.  I have tried uninstalling and reinstalling the add-on (3.0.4) and also deleting the specialfeatures.db database in my userdata folder.

I have uploaded a copy of the debug log here which was created when using the "Clean Special Features Database" feature.
I should also mention the error is occurring on a reset (new) database, as well as my old Special Features database, and reaches the same error on initiating an Update or a Clean.

My environment is Xbox One, with Kodi 18.8 + latest updates.

Thoughts?
Identified the issue was to do with corrupt characters in an nfo file (non-UTF8 characters).   Now all sorted.
(2020-10-26, 00:33)funkmeister7 Wrote: [ -> ]Identified the issue was to do with corrupt characters in an nfo file (non-UTF8 characters).   Now all sorted.

Glad to hear it sorry for the late response.
To the devs of this add-on, thank you so much for your work. After being thoroughly disappointed with the official Extras add-on, I will say it has taken me far too long to discover this. I have a couple of questions:

1) It is mentioned that an option can be added to the info dialog within supported skins. Other than Estuary, is there a running list of what skins are supported?
2) When I choose to play a special feature, the video is manually added into my library every time and appears among my list of all movie titles. Is there any way to avoid this? It is obviously not ideal to have a bunch of random extra videos littering the list of actual movies.
(2020-10-28, 03:15)seehazy Wrote: [ -> ]To the devs of this add-on, thank you so much for your work. After being thoroughly disappointed with the official Extras add-on, I will say it has taken me far too long to discover this. I have a couple of questions:

1) It is mentioned that an option can be added to the info dialog within supported skins. Other than Estuary, is there a running list of what skins are supported?
2) When I choose to play a special feature, the video is manually added into my library every time and appears among my list of all movie titles. Is there any way to avoid this? It is obviously not ideal to have a bunch of random extra videos littering the list of actual movies.

1 the supported skin file can be found on github

2 you will need to add the advancedsetting to ignore "extras" all of this should be included in readme.
Hello all, I've a simple question. So far I'm very happy with the addon but wondering if it's possible to have sub-folders inside the Extras folder and browse those contents in the addon.

The addon shows all the individual files inside the Extras directory. But if I have folders inside the Extras directory like "Deleted Scenes", "Interviews" etc, they don't show up. Usually this is not a big deal but for features that have tons of extra content organized into categories, it becomes unwieldy to have all the files under a single directory.

The wiki does mention the Extras folder to be properly formatted but I'm not sure how to go about that, if that's even possible. Thanks!
@smitchell6879 , I am a first time user of the addon, using Kodi 18.9 under Windows 10.  When the addon is scanning for movie extras, I get this error:

xml:

2020-11-18 16:00:09.999 T:15004   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeDecodeError'>
                                            Error Contents: 'utf8' codec can't decode byte 0x82 in position 7: invalid start byte
                                            Traceback (most recent call last):
                                              File "C:\Users\bsori\AppData\Roaming\Kodi\addons\plugin.video.specialfeatures\script.py", line 70, in <module>
                                                r.updateDB()
                                              File "C:\Users\bsori\AppData\Roaming\Kodi\addons\plugin.video.specialfeatures\script.py", line 39, in updateDB
                                                resultFILTER().router(query2)
                                              File "C:\Users\bsori\AppData\Roaming\Kodi\addons\plugin.video.specialfeatures\lib\iteration.py", line 40, in router
                                                result = QUERY().router(query)
                                              File "C:\Users\bsori\AppData\Roaming\Kodi\addons\plugin.video.specialfeatures\lib\querylib.py", line 45, in router
                                                self.result = self.jsonquery(self.queries.get('{}'.format(query)))
                                              File "C:\Users\bsori\AppData\Roaming\Kodi\addons\plugin.video.specialfeatures\lib\querylib.py", line 41, in jsonquery
                                                return json.loads(self.json)
                                              File "C:\Program Files\Kodi\system\python\Lib\json\__init__.py", line 339, in loads
                                                return _default_decoder.decode(s)
                                              File "C:\Program Files\Kodi\system\python\Lib\json\decoder.py", line 364, in decode
                                                obj, end = self.raw_decode(s, idx=_w(s, 0).end())
                                              File "C:\Program Files\Kodi\system\python\Lib\json\decoder.py", line 380, in raw_decode
                                                obj, end = self.scan_once(s, idx)
                                            UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 7: invalid start byte
                                            -->End of Python script error report<--

I don't know where to look for the offending character that the addon is not processing.  If I understand correctly, the addon is reading the Kodi videodb and for each movie, it is looking for an Extras folder in the movie folder, correct? If so, would the issue be with a movie folder name, or a movie title name? I appreciate any help you could provide. 

I am the current maintainer for the Amber skin, and even though the current version of the skin has the required code changes to show a "Special Features" button in the video info dialog, I had not really tested the addon until now.

I am looking to add an indication to the media views when a movie or tv show has special features, but I need to get the addon working first in my library.

Regards,

Bart
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21