Xbmc: 映画、番組、子供向けのセクションでは結果が表示されません

作成日 2019年07月27日  ·  15コメント  ·  ソース: Sandmann79/xbmc

アマゾンが再びhtmlを変更したと思います。 ウォッチリストと検索機能は引き続き機能しますが、他のセクション(映画、番組、子供)を閲覧しようとすると、空のリストが表示されることに気付きました。
ログにエラーはありません。

最も参考になるコメント

パッチを当てたprimevideo.pyを添付します。

primevideo.zip

私はまた、私の変更を加えたこのリポジトリを持っています:
https://github.com/Paco8/kodi-repo/tree/master/packages

全てのコメント15件

おそらく、それが私たちがそれから離れようとしている理由です。 しかし、私はそれで終わっていません。

このパッチで部分的に修正しました:

--- primevideo-orig.py  2019-07-31 22:13:40.175048136 +0200
+++ primevideo.py   2019-07-31 22:14:00.402793839 +0200
@@ -609,7 +609,7 @@

             for t in [('\\\\n', '\n'), ('\\n', '\n'), ('\\\\"', '"'), (r'^\s+', '')]:
                 cnt = re.sub(t[0], t[1], cnt, flags=re.DOTALL)
-            if None is not re.search('<div id="Storefront">', cnt):
+            if None is not re.search('<div\s+class="DVWebNode-storefront-wrapper|<div id="Storefront">', cnt):
                 ''' Categories list '''
                 Log('Storefront page', Log.DEBUG)
                 from BeautifulSoup import BeautifulSoup
@@ -648,7 +648,8 @@
                             else:
                                 # Widow carousel with movies/TV series. Most information has been stripped away from
                                 # the carousel, so we can't do more than just forwarding a request
-                                requestURLs.append((link, o[title], ExtractURN(link), True))
+                                if None is re.search(r'/search/', link):
+                                    requestURLs.append((link, o[title], ExtractURN(link), True))
                     else:
                         ''' The carousel has explore link '''
                         NotifyUser(getString(30253).format(title))

「ジャンル/カテゴリ」のリンクは修正しませんでした。

また、別の問題にも気づきました。単一のシーズンで番組をスキャンすると、アドオンがクラッシュします。 これは、Amazonがclass = "_2XnrBy"class = " _ 3yWnmV_2XnrBy"に変更したためです。

「_2XnrBy」を「。*?_ 2XnrBy」に置き換えて修正しました

--- primevideo-orig.py  2019-07-31 22:13:40.175048136 +0200
+++ primevideo.py   2019-07-31 23:09:12.033161007 +0200
@@ -762,7 +762,7 @@
                     else:
                         ''' Episode list '''
                         # Find out what page revision we're in
-                        if None is not re.search(r'(class="_2XnrBy"|for="[^"]*-season-selector)', cnt):
+                        if None is not re.search(r'(class=".*?_2XnrBy"|for="[^"]*-season-selector)', cnt):
                             revision = 3
                         elif None is not re.search(r'<ol[^>]*>\s*<li id="[ap]v-ep-', cnt, flags=re.DOTALL):
                             revision = 2
@@ -836,7 +836,7 @@
                                         thumbnail = MaxSize(Unescape(gpr['catalogMetadata']['images']['imageUrls']['title']))
                                         self._videodata[refUrn]['metadata']['artmeta'] = {'thumb': thumbnail, 'poster': thumbnail, 'fanart': bgimg}
                                     if 'title' not in self._videodata[refUrn]:
-                                        bSingle = None is not re.search(r'(class="_2XnrBy"|[ap]v-season-single|DigitalVideoWebNodeDetail_seasons__single)', cnt)
+                                        bSingle = None is not re.search(r'(class=".*?_2XnrBy"|[ap]v-season-single|DigitalVideoWebNodeDetail_seasons__single)', cnt)
                                         self._videodata[refUrn]['title'] = Unescape(re.search([
                                             r'<span class="[^"]*[ap]v-season-single[^"]*">\s*(.*?)\s*(?:</a>|</span>)',  # r0 single
                                             r'<a class="[^"]*[ap]v-droplist--selected[^"]*"[^>]*>\s*(.*?)\s*</a>',  # r0 multi
@@ -844,7 +844,7 @@
                                             r'<div class="[^"]*dv-node-dp-seasons.*?<label[^>]*>\s*<span[^>]*>\s*(.*?)\s*</span>\s*</label>',  # r1 multi
                                             r'<span class="[^"]*[ap]v-season-single[^"]*">\s*(.*?)\s*(?:</a>|</span>)',  # r2 single
                                             r'<label class="[^"]*[ap]v-select-trigger[^"]*"[^>]*>\s*(.*?)\s*</label>',  # r2 multi
-                                            r'<span class="_2XnrBy">\s*<span>\s*(.*?)\s*</span>',  # r3 single
+                                            r'<span class=".*?_2XnrBy">\s*<span>\s*(.*?)\s*</span>',  # r3 single
                                             r'<label[^>]*\s+for="[^"]*-season-selector"[^>]*>\s*<span>\s*(.*?)\s*</span>',  # r3 multi
                                         ][(revision << 1) + (0 if bSingle else 1)], cnt, flags=re.DOTALL).group(1))
                                     if 'parent' not in self._videodata[refUrn]:

パッチをどのようにインストールして使用しますか? 私も映画、ショーを持っています、そして子供たちは結果を見せません。 スタートレックに入力すると、右上隅にInto Darknessが見つかったと表示されますが、結果リストには表示されません。

@ Paco8
パッチはどこにどのように配置しますか?
グラシアス。

パッチを当てたprimevideo.pyを添付します。

primevideo.zip

私はまた、私の変更を加えたこのリポジトリを持っています:
https://github.com/Paco8/kodi-repo/tree/master/packages

@ Paco8が完璧に機能してくれてありがとう。
ありがとう!!!!

こんにちは@ Paco8
更新されたAmazonVODリポジトリに感謝します。 これにより、すべての映画コンテンツが完璧に更新されます。
しかし、映画を再生しているときに、ビデオが表示されないことがわかりました。 代わりに、画面の上部に静的な乱れがある色で塗りつぶされます。 私は無駄にビデオ設定を切り替えようとしました。 オーディオは完璧に機能します。 これについて何か提案があればありがたいです。 インドからアクセスしています。 前もって感謝します。

更新:これは解決されました。 それはKodiビデオ設定にありました。 このビデオは役に立ちました。 https://youtu.be/rR3sENo_e3Q

パッチを当てたprimevideo.pyを添付します。

primevideo.zip

私はまた、私の変更を加えたこのリポジトリを持っています:
https://github.com/Paco8/kodi-repo/tree/master/packages

こんにちはPaco8、パッチのインストール方法を教えてください。 FTPとどのフォルダを使用しますか?

ありがとう。

primevideo.zipからprimevideo.pyを抽出し、plugin.video.amazon-test / resources / lib /にコピーして元のファイルを置き換えます。

@ Paco8このトピックへのリンクをkodiフォーラムに投稿しました。 問題が発生しないことを願っています...
https://forum.kodi.tv/showthread.php?tid=331136&pid=2877470#pid2877470

パッチを当てたprimevideo.pyを添付します。

primevideo.zip

私はまた、私の変更を加えたこのリポジトリを持っています:
https://github.com/Paco8/kodi-repo/tree/master/packages

@ Paco8が完璧に機能してくれてありがとう。
グラシアス!!!! eres un fenomeno

Kodiにインストールするにはどうすればよいですか? あなたは私を助けることができますか? @ paco8

私はあなたがこのパッケージをインストールできると思います:
https://github.com/Paco8/kodi-repo/raw/master/packages/plugin.video.amazon-test/plugin.video.amazon-test-0.7.4%7Ebeta-20190912.zip

ちなみに、アマゾンがまた変更を加えたようで、エピソードリストからシーズン番号を取得するコードがまた壊れていると思います。

上記の正規表現が失敗した場合に備えて、jsonデータからシーズン番号を取得するパッチを作成しました。 パッチと変更されたprimevideo.pyを添付します

primevideo-fix.zip

こんにちは、みんな

私は8月のパスをインストールしました、そしてそれは働きました。
不在の後、私は別の間違いを犯しました。
そこで、9月のパッチをインストールしました。
エラーはもうありませんが、ディレクトリは空です...
ご協力いただきありがとうございます。

このページは役に立ちましたか?
0 / 5 - 0 評価