Skip to content

Commit 8e53ae8

Browse files
committed
Plex Xattr Agent
1 parent b8ce022 commit 8e53ae8

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

plex/Xattr.bundle/Contents/Code/__init__.py

+29-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
1-
import subprocess
1+
import json
2+
import filebot
3+
24

35
def Start():
46
Log("START".ljust(157, '-'))
7+
Log(FileBotCommand().version())
8+
9+
10+
#####################################################################################################################
11+
12+
13+
def ReadXattrObject(file):
14+
xattrValue = FileBotCommand().metadata(file)
15+
return json.loads(xattrValue)
516

617

718
#####################################################################################################################
@@ -14,6 +25,7 @@ class XattrMovieAgent(Agent.Movies):
1425
persist_stored_files = False
1526
accepts_from = ['com.plexapp.agents.localmedia']
1627

28+
1729
def search(self, results, media, lang):
1830
Log("search()".ljust(157, '-'))
1931
Log("self: %s" % self)
@@ -22,6 +34,7 @@ def search(self, results, media, lang):
2234
Log("lang: %s" % lang)
2335
results.Append(MetadataSearchResult(id = 'null', score = 100))
2436

37+
2538
def update(self, metadata, media, lang):
2639
Log("update()".ljust(157, '-'))
2740
Log("self: %s" % self)
@@ -33,5 +46,19 @@ def update(self, metadata, media, lang):
3346
Log("attr_name: %s" % attr_name)
3447
Log("attr_obj: %s" % attr_obj)
3548

49+
file = movie.parts[0]
50+
Log("file: %s" % file)
51+
52+
xattr = ReadXattrObject(file)
53+
Log("xattr: %s" % xattr)
54+
55+
metadata.title = xattr['name']
56+
metadata.year = xattr['year']
57+
58+
tmdbId = xattr['tmdbId']
59+
imdbId = xattr['imdbId']
60+
if tmdbId > 0:
61+
metadata.id = tmdbId
62+
elif imdbId > 0:
63+
metadata.id = 'tt%0*d' % (7, imdbId)
3664

37-
metadata.title = "July 24 @ %s" % subprocess.check_output(['/usr/local/bin/filebot', '-version'])

plex/Xattr.bundle/Contents/Code/filebot.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def metadata(self, file):
1010

1111
def version(self):
1212
args = ['-version']
13-
return self.execute(args).strip()
13+
return self.execute(args)
1414

1515
def execute(self, args):
1616
command = [self.executable]

0 commit comments

Comments
 (0)