Skip to content

Commit 790a8e8

Browse files
authored
Merge pull request #6 from Cazzar/devel
1.0.1
2 parents 67a250c + 266702b commit 790a8e8

File tree

6 files changed

+31
-246
lines changed

6 files changed

+31
-246
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "tags"]
2+
path = Contents/Code/tags
3+
url = https://github.com/bigretromike/nakamori.tags.git

Contents/Code/TagBlacklist.py

Lines changed: 0 additions & 231 deletions
This file was deleted.

Contents/Code/__init__.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os, re, time, string, thread, threading, urllib, copy
22
from lxml import etree
33
from datetime import datetime
4-
import TagBlacklist
4+
import tags as TagBlacklist
55

66
API_KEY = ''
77
PLEX_HOST = ''
@@ -74,15 +74,22 @@ def Update(self, metadata, media, lang, force, movie):
7474
series = HttpReq("api/serie?id=%s&level=3" % aid)
7575

7676
# build metadata on the TV show.
77-
metadata.summary = series['summary']
77+
metadata.summary = try_get(series, 'summary')
7878
metadata.title = series['name']
7979
metadata.rating = float(series['rating'])
8080

8181
tags = []
8282
for tag in series['tags']:
8383
tags.append(tag['tag'])
8484

85-
TagBlacklist.processTags(tags)
85+
flags = 0
86+
flags = flags | Prefs['hideMiscTags'] << 0 #0b00001 : Hide AniDB Internal Tags
87+
flags = flags | Prefs['hideArtTags'] << 1 #0b00010 : Hide Art Style Tags
88+
flags = flags | Prefs['hideSourceTags'] << 2 #0b00100 : Hide Source Work Tags
89+
flags = flags | Prefs['hideUsefulMiscTags'] << 3 #0b01000 : Hide Useful Miscellaneous Tags
90+
flags = flags | Prefs['hideSpoilerTags'] << 4 #0b10000 : Hide Plot Spoiler Tags
91+
92+
TagBlacklist.processTags(flags, tags)
8693

8794
metadata.genres = tags
8895

@@ -125,10 +132,6 @@ def Update(self, metadata, media, lang, force, movie):
125132

126133
Log('Assumed tv rating to be: %s' % metadata.content_rating)
127134

128-
for t in series['titles']:
129-
if (t['type'] == 'official' and t['language'] == 'ja'):
130-
metadata.original_title = t['title']
131-
132135

133136
if not movie:
134137
for ep in series['eps']:
@@ -153,11 +156,11 @@ def Update(self, metadata, media, lang, force, movie):
153156
episodeObj.thumbs[art['url']] = Proxy.Media(HTTP.Request(art['url']).content, art['index'])
154157

155158

156-
def try_to_remove(arr, val):
159+
def try_get(arr, idx, default=""):
157160
try:
158-
arr.remove(val)
161+
return arr[idx]
159162
except:
160-
pass
163+
return default
161164

162165

163166
class ShokoTVAgent(Agent.TV_Shows, ShokoCommonAgent):

Contents/Code/tags

Submodule tags added at fdac0c4

Contents/DefaultPrefs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"id": "Fuzzy",
3434
"label": "Use fuzzy searching in Shoko for matching the titles.",
3535
"type": "bool",
36-
"default": false
36+
"default": true
3737
},
3838

3939
{

Contents/Resources/Series/Shoko Series Scanner.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,19 @@ def Scan(path, files, mediaList, subdirs, language=None, root=None):
7676

7777
episode_data = HttpReq("api/ep/getbyfilename?filename=%s" % (urllib.quote(os.path.basename(file))))
7878
if len(episode_data) == 0: break
79+
if (try_get(episode_data, "code", 200) == 404): break
7980

8081
series_data = HttpReq("api/serie/fromep?id=%d&nocast=1&notag=1" % episode_data['id'])
81-
showTitle = str(series_data['name']) #no idea why I need to do this.
82+
showTitle = series_data['name'].encode("utf-8") #no idea why I need to do this.
8283
log('Scan', 'show title: %s', showTitle)
8384

8485
seasonNumber = 0
85-
if episode_data['season'] == None:
86+
seasonStr = try_get(episode_data, 'season', None)
87+
if seasonStr == None:
8688
if episode_data['eptype'] == 'Episode': seasonNumber = 1
8789
if episode_data['eptype'] == 'Credits': seasonNumber = -1 #season -1 for OP/ED
8890
else:
89-
seasonNumber = episode_data['season'].split('x')[0]
91+
seasonNumber = seasonStr.split('x')[0]
9092

9193
if seasonNumber <= 0 and Prefs['IncludeOther'] == False: break #Ignore this by choice.
9294

@@ -102,7 +104,7 @@ def Scan(path, files, mediaList, subdirs, language=None, root=None):
102104

103105
log('Scan', 'episode number: %s', episodeNumber)
104106

105-
episodeTitle = str(episode_data['name'])
107+
episodeTitle = episode_data['name'].encode("utf-8")
106108
log('Scan', 'episode title: %s', episodeTitle)
107109

108110
vid = Media.Episode(showTitle, int(seasonNumber), episodeNumber , episodeTitle, int(seasonYear))
@@ -113,3 +115,10 @@ def Scan(path, files, mediaList, subdirs, language=None, root=None):
113115
log('Scan', 'stack media')
114116
Stack.Scan(path, files, mediaList, subdirs)
115117
log('Scan', 'media list %s', mediaList)
118+
119+
120+
def try_get(arr, idx, default=""):
121+
try:
122+
return arr[idx]
123+
except:
124+
return default

0 commit comments

Comments
 (0)