Skip to content

Commit 11cb40e

Browse files
committed
new category, hd fix
1 parent 85f8979 commit 11cb40e

File tree

13 files changed

+136
-35
lines changed

13 files changed

+136
-35
lines changed

addon.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</addon>
2121
<addon id="plugin.video.amazon"
2222
name="Amazon"
23-
version="1.4.7"
23+
version="1.4.8"
2424
provider-name="Sandmann79 + BlueCop + Romans I XVI">
2525
<requires>
2626
<import addon="xbmc.python" version="2.1.0"/>

addon.xml.md5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0a133649f6dd5d58c6ba424a92ec61bd
1+
92a6ca245d4356e0f8ffc643514d7c55

plugin.video.amazon/addon.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<addon id="plugin.video.amazon"
33
name="Amazon"
4-
version="1.4.7"
4+
version="1.4.8"
55
provider-name="Sandmann79 + BlueCop + Romans I XVI">
66
<requires>
77
<import addon="xbmc.python" version="2.1.0"/>
689 KB
Binary file not shown.

plugin.video.amazon/resources/language/English/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
<string id="30072">Verbose logging</string>
7070

7171
<string id="30100">Popular</string>
72+
<string id="30101">Toggle watched state</string>
7273
<string id="30102">Full Movie Refresh(DB)</string>
7374
<string id="30103">Refresh TV &amp; Movie Database</string>
7475
<string id="30104">Movies</string>
@@ -115,6 +116,7 @@
115116
<string id="30146">Studios</string>
116117
<string id="30147">MPAA Rating</string>
117118
<string id="30148">Directors</string>
119+
<string id="30149">Editor's Picks</string>
118120

119121
<string id="30154">Movie</string>
120122
<string id="30155">Remove %s</string>

plugin.video.amazon/resources/language/German/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
<string id="30072">Ausführliches Logging</string>
6969

7070
<string id="30100">Beliebt</string>
71+
<string id="30101">Gesehen Status ändern</string>
7172
<string id="30102">Komplette Filmdatenbank erstellen</string>
7273
<string id="30103">Film &amp; TV-Datenbank aktualisieren</string>
7374
<string id="30104">Filme</string>
@@ -114,6 +115,7 @@
114115
<string id="30146">Studios</string>
115116
<string id="30147">Altersfreigabe</string>
116117
<string id="30148">Regisseure</string>
118+
<string id="30149">Empfehlungen</string>
117119

118120
<string id="30154">Film</string>
119121
<string id="30155">%s entfernen</string>

plugin.video.amazon/resources/lib/appfeed.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ def updateAll():
278278
Notif(common.__plugin__, common.getString(30106), sound = False)
279279
tv.addTVdb(False)
280280
movies.addMoviesdb(False)
281-
NewAsins = common.getNewest()
281+
NewAsins = common.getCategories()
282282
movies.setNewest(NewAsins)
283283
movies.updateFanart()
284284
tv.setNewest(NewAsins)

plugin.video.amazon/resources/lib/common.py

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,9 @@ def addVideo(name,asin,poster=False,fanart=False,infoLabels=False,totalItems=0,c
162162
cm = []
163163
if int(addon.getSetting("playmethod")) == 0:
164164
liz.setProperty('IsPlayable', 'true')
165-
cm.insert(0, (getString(30109), 'XBMC.RunPlugin(%s&trailer=<0>&selbitrate=<1>)' % u) )
166-
cm.insert(1, (getString(30113), 'XBMC.RunPlugin(%s&trailer=<0>&selbitrate=<org>)' % u) )
165+
cm.insert(0, (getString(30109), 'RunPlugin(%s&trailer=<0>&selbitrate=<1>)' % u) )
166+
cm.insert(1, (getString(30113), 'RunPlugin(%s&trailer=<0>&selbitrate=<org>)' % u) )
167+
cm.insert(0, (getString(30101), 'Action(ToggleWatched)') )
167168
if isHD:
168169
liz.addStreamInfo('video', { 'width':1280 ,'height' : 720 })
169170
else:
@@ -370,16 +371,30 @@ def checkCase(title):
370371
title = title.title().replace('[Ov]', '[OV]').replace('Bc', 'BC')
371372
return title
372373

373-
def getNewest():
374+
def getCategories():
374375
import urlparse
375376
response = getURL(ATV_URL + '/cdp/catalog/GetCategoryList?firmware=fmw:15-app:1.1.23&deviceTypeID=A1MPSLFC7L5AFK&deviceID=%s&format=json&OfferGroups=B0043YVHMY&IncludeAll=T&version=2' % addon.getSetting("GenDeviceID"))
376377
data = demjson.decode(response)
377378
asins = {}
378-
for type in data['message']['body']['categories'][0]['categories'][0]['categories']:
379-
subPageType = None
380-
if type.has_key('subPageType'): subPageType = type['subPageType']
381-
if subPageType == 'PrimeMovieRecentlyAdded' or subPageType == 'PrimeTVRecentlyAdded':
382-
asins.update({subPageType: urlparse.parse_qs(type['query'])['ASINList'][0].split(',')})
379+
for maincat in data['message']['body']['categories']:
380+
mainCatId = maincat.get('id')
381+
if mainCatId == 'movies' or mainCatId == 'tv_shows':
382+
asins.update({mainCatId: {}})
383+
for type in maincat['categories'][0]['categories']:
384+
subPageType = type.get('subPageType')
385+
subCatId = type.get('id')
386+
if subPageType == 'PrimeMovieRecentlyAdded' or subPageType == 'PrimeTVRecentlyAdded':
387+
asins[mainCatId].update({subPageType: urlparse.parse_qs(type['query'])['ASINList'][0].split(',')})
388+
elif 'prime_editors_picks' in subCatId:
389+
for picks in type['categories']:
390+
query = picks.get('query').upper()
391+
title = picks.get('title')
392+
if title and ('ASINLIST' in query):
393+
querylist = urlparse.parse_qs(query)
394+
alkey = None
395+
for key in querylist.keys():
396+
if 'ASINLIST' in key: alkey = key
397+
asins[mainCatId].update({title: urlparse.parse_qs(query)[alkey][0]})
383398
return asins
384399

385400
def SetView(content, view=False, updateListing=False):
@@ -491,7 +506,13 @@ def copyDB(ask=False):
491506
cur_fileacc = int(os.path.getmtime(tvDBfile) + os.path.getmtime(MovieDBfile))
492507
if org_fileacc > cur_fileacc:
493508
copyDB(True)
494-
509+
if 1 == 0:
510+
import movies
511+
import tv
512+
NewAsins = getCategories()
513+
movies.setNewest(NewAsins)
514+
tv.setNewest(NewAsins)
515+
#tv.cleanDB()
495516
urlargs = urllib.unquote_plus(sys.argv[2][1:].replace('&', ', ')).replace('<','"').replace('>','"')
496517
Log('Args: %s' % urlargs)
497518
exec "args = _Info(%s)" % urlargs

plugin.video.amazon/resources/lib/listmovie.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
def LIST_MOVIE_ROOT():
1616
common.addDir(common.getString(30100),'listmovie','LIST_MOVIES_SORTED','popularity')
1717
common.addDir(common.getString(30110),'listmovie','LIST_MOVIES_SORTED','recent')
18+
common.addDir(common.getString(30149),'listmovie','LIST_MOVIES_CATS')
1819
common.addDir(common.getString(30143),'listmovie','LIST_MOVIES')
1920
common.addDir(common.getString(30144),'listmovie','LIST_MOVIE_TYPES','genres')
2021
common.addDir(common.getString(30145),'listmovie','LIST_MOVIE_TYPES','year')
@@ -24,6 +25,19 @@ def LIST_MOVIE_ROOT():
2425
common.addDir(common.getString(30148),'listmovie','LIST_MOVIE_TYPES','director')
2526
xbmcplugin.endOfDirectory(pluginhandle)
2627

28+
def LIST_MOVIES_CATS():
29+
import movies as moviesDB
30+
id = common.args.url
31+
if id:
32+
asins = moviesDB.lookupMoviedb(id, rvalue='asins', name='title', table='categories')
33+
for asin in asins.split(','):
34+
LIST_MOVIES('asin',asin,search=True)
35+
common.SetView('movies', 'movieview')
36+
else:
37+
for title in moviesDB.lookupMoviedb('', name='asins', table='categories', single=False):
38+
if title: common.addDir(title[0],'listmovie','LIST_MOVIES_CATS',title[0])
39+
xbmcplugin.endOfDirectory(pluginhandle,updateListing=False)
40+
2741
def LIST_MOVIE_TYPES(type=False):
2842
import movies as moviesDB
2943
if not type:

plugin.video.amazon/resources/lib/listtv.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
def LIST_TV_ROOT():
1717
common.addDir(common.getString(30100),'listtv','LIST_TVSHOWS_SORTED','popularity')
1818
common.addDir(common.getString(30110),'listtv','LIST_TVSEASON_SORTED','recent')
19+
common.addDir(common.getString(30149),'listtv','LIST_TVSHOWS_CATS')
1920
common.addDir(common.getString(30160),'listtv','LIST_TVSHOWS')
2021
common.addDir(common.getString(30144),'listtv','LIST_TVSHOWS_TYPES','genres' )
2122
common.addDir(common.getString(30158),'listtv','LIST_TVSHOWS_TYPES','actors')
@@ -24,6 +25,29 @@ def LIST_TV_ROOT():
2425
common.addDir(common.getString(30162),'listtv','LIST_TVSHOWS_TYPES','mpaa' )
2526
xbmcplugin.endOfDirectory(pluginhandle)
2627

28+
def LIST_TVSHOWS_CATS():
29+
import tv as tvDB
30+
id = common.args.url
31+
if id:
32+
asins = tvDB.lookupTVdb(id, rvalue='asins', name='title', tbl='categories')
33+
epidb = tvDB.lookupTVdb('', name='asin', rvalue='asin, seasonasin', tbl='episodes', single=False)
34+
if not asins: return
35+
for asin in asins.split(','):
36+
seasonasin = None
37+
for epidata in epidb:
38+
if asin in str(epidata):
39+
seasonasin = epidata[1]
40+
break
41+
if not seasonasin: seasonasin = asin
42+
for seasondata in tvDB.loadTVSeasonsdb(seasonasin=seasonasin).fetchall():
43+
ADD_SEASON_ITEM(seasondata, disptitle=True)
44+
common.SetView('tvshows', 'seasonview')
45+
del epidb
46+
else:
47+
for title in tvDB.lookupTVdb('', name='asins', tbl='categories', single=False):
48+
if title: common.addDir(title[0],'listtv','LIST_TVSHOWS_CATS',title[0])
49+
xbmcplugin.endOfDirectory(pluginhandle,updateListing=False)
50+
2751
def LIST_TVSHOWS_TYPES(type=False):
2852
import tv as tvDB
2953
if not type:

0 commit comments

Comments
 (0)