Skip to content
This repository has been archived by the owner on Jun 6, 2018. It is now read-only.

Commit

Permalink
added subtitle support back (now found & retrieved by putio)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alper Kanat committed Jun 29, 2014
1 parent b09b62b commit 2a3677b
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 29 deletions.
2 changes: 1 addition & 1 deletion addon.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def main():
if item.content_type == "application/x-directory":
populateDir(pluginUrl, pluginId, putio.getFolderListing(itemId))
else:
play(item)
play(item, putio.getSubtitle(item))
else:
populateDir(pluginUrl, pluginId, putio.getRootListing())

Expand Down
28 changes: 22 additions & 6 deletions resources/lib/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import os

import putio
import xbmc
import xbmcaddon as xa
from exceptions import PutioAuthFailureException

Expand Down Expand Up @@ -64,11 +65,26 @@ def getFolderListing(self, folderId):
return items

def getSubtitle(self, item):
fileName, extension = os.path.splitext(item.name)
subtitles = item.subtitle
default = subtitles.get("default")

for i in self.getFolderListing(item.parent_id, False):
if i.type != "folder":
fn, ext = os.path.splitext(i.name)
if not default:
print "Couldn't find any subtitles for: %s" % item.name
return

if i.name.find(fileName) != -1 and (ext.lstrip(".") in self.subtitleTypes):
return i.get_stream_url()
print "Found subtitle for %s, retrieving.." % item.name

r = item.client.request(
'/files/%s/subtitles/%s' % (
item.id,
default
),
raw=True
)
dest = xbmc.translatePath('special://temp/%s' % item.name)

with open(dest, 'wb') as f:
for data in r.iter_content():
f.write(data)

return dest
6 changes: 5 additions & 1 deletion resources/lib/gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def populateDir(pluginUrl, pluginId, listing):
xp.endOfDirectory(pluginId)


def play(item):
def play(item, subtitle=None):
player = xbmc.Player()

if item.screenshot:
Expand All @@ -83,3 +83,7 @@ def play(item):

listItem.setInfo('video', {'Title': item.name})
player.play(item.stream_url, listItem)

if subtitle:
print "Adding subtitle to player!"
player.setSubtitles(subtitle)
22 changes: 1 addition & 21 deletions resources/lib/putio.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import requests

import iso8601
import xbmc

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -209,26 +208,7 @@ def delete(self):

@property
def subtitle(self):
response = self.client.request('/files/%s/subtitles' % self.id)
items = response['subtitles']
subtitles = []

for item in items:
r = self.client.request(
'/files/%s/subtitles/%s' % (
self.id,
item['key']
),
raw=True
)
dest = xbmc.translatePath('special://temp/%s' % item['name'])
subtitles.append(dest)

with open(dest, 'wb') as file_:
for data in r.iter_content():
file_.write(data)

return subtitles
return self.client.request('/files/%s/subtitles' % self.id)


class _Transfer(_BaseResource):
Expand Down

0 comments on commit 2a3677b

Please sign in to comment.