[Python-modules-commits] [pychromecast] 01/03: Import pychromecast_0.7.4.orig.tar.gz

Ruben Undheim rubund-guest at moszumanska.debian.org
Thu Sep 29 05:54:55 UTC 2016


This is an automated email from the git hooks/post-receive script.

rubund-guest pushed a commit to branch master
in repository pychromecast.

commit f49b1fe6f7f7d645822d3dd7bf34f1aa1b789449
Author: Ruben Undheim <ruben.undheim at gmail.com>
Date:   Mon Sep 26 19:50:01 2016 +0200

    Import pychromecast_0.7.4.orig.tar.gz
---
 pychromecast/__init__.py            | 13 ++++++++-----
 pychromecast/controllers/media.py   | 23 +++++++++++++++++++----
 pychromecast/controllers/youtube.py |  2 +-
 setup.py                            |  2 +-
 4 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/pychromecast/__init__.py b/pychromecast/__init__.py
index f37fec8..3d1914f 100644
--- a/pychromecast/__init__.py
+++ b/pychromecast/__init__.py
@@ -54,7 +54,7 @@ def _get_all_chromecasts(tries=None, retry_wait=None, timeout=None):
                                       device=device,
                                       tries=tries, timeout=timeout,
                                       retry_wait=retry_wait))
-        except ChromecastConnectionError:
+        except ChromecastConnectionError:  # noqa
             pass
     return cc_list
 
@@ -163,7 +163,7 @@ def get_chromecast(strict=False, tries=None, retry_wait=None, timeout=None,
 
     if len(results) > 1:
         if strict:
-            raise MultipleChromecastsFoundError(
+            raise MultipleChromecastsFoundError(  # noqa
                 'More than one Chromecast was found specifying '
                 'the filter criteria: {}'.format(filters))
         else:
@@ -171,7 +171,7 @@ def get_chromecast(strict=False, tries=None, retry_wait=None, timeout=None,
 
     elif not results:
         if strict:
-            raise NoChromecastFoundError(
+            raise NoChromecastFoundError(  # noqa
                 'No Chromecasts matching filter critera were found:'
                 ' {}'.format(filters))
         else:
@@ -240,7 +240,7 @@ class Chromecast(object):
             self.device = get_device_status(self.host)
 
         if not self.device:
-            raise ChromecastConnectionError(
+            raise ChromecastConnectionError(  # noqa
                 "Could not connect to {}:{}".format(self.host, self.port))
 
         self.status = None
@@ -404,7 +404,10 @@ class Chromecast(object):
         self.socket_client.join(timeout=timeout)
 
     def __del__(self):
-        self.socket_client.stop.set()
+        try:
+            self.socket_client.stop.set()
+        except AttributeError:
+            pass
 
     def __repr__(self):
         txt = u"Chromecast({!r}, port={!r}, device={!r})".format(
diff --git a/pychromecast/controllers/media.py b/pychromecast/controllers/media.py
index 8260ac6..f627c9a 100644
--- a/pychromecast/controllers/media.py
+++ b/pychromecast/controllers/media.py
@@ -260,7 +260,7 @@ class MediaController(BaseController):
 
         self.media_session_id = 0
         self.status = MediaStatus()
-
+        self.app_id = APP_MEDIA_RECEIVER
         self._status_listeners = []
 
     def channel_connected(self):
@@ -395,7 +395,8 @@ class MediaController(BaseController):
     def play_media(self, url, content_type, title=None, thumb=None,
                    current_time=0, autoplay=True,
                    stream_type=STREAM_TYPE_BUFFERED,
-                   metadata=None):
+                   metadata=None, subtitles=None, subtitles_lang='en-US',
+                   subtitles_mime='text/vtt', subtitle_id=1):
         """
         Plays media on the Chromecast. Start default media receiver if not
         already started.
@@ -410,6 +411,10 @@ class MediaController(BaseController):
         autoplay: bool - whether the media will automatically play.
         stream_type: str - describes the type of media artifact as one of the
             following: "NONE", "BUFFERED", "LIVE".
+        subtitles: str - url of subtitle file to be shown on chromecast.
+        subtitles_lang: str - language for subtitles.
+        subtitles_mime: str - mimetype of subtitles.
+        subtitle_id: int - id of subtitle to be loaded.
         metadata: dict - media metadata object, one of the following:
             GenericMediaMetadata, MovieMediaMetadata, TvShowMediaMetadata,
             MusicTrackMediaMetadata, PhotoMediaMetadata.
@@ -418,7 +423,7 @@ class MediaController(BaseController):
         https://developers.google.com/cast/docs/reference/messages#MediaData
         """
 
-        self._socket_client.receiver_controller.launch_app(APP_MEDIA_RECEIVER)
+        self._socket_client.receiver_controller.launch_app(self.app_id)
 
         msg = {
             'media': {
@@ -443,7 +448,17 @@ class MediaController(BaseController):
                 msg['media']['metadata']['images'] = []
 
             msg['media']['metadata']['images'].append({'url': thumb})
-
+        if subtitles:
+            sub_msg = {
+                'trackId': subtitle_id,
+                'trackContentId': subtitles,
+                'language': subtitles_lang,
+                'subtype': 'SUBTITLES',
+                'type': 'TEXT',
+                'ttrackContentType': subtitles_mime,
+                'name': "{} - {} Subtitle".format(subtitles_lang, subtitle_id)
+                }
+            msg['media']['tracks'] = sub_msg
         self.send_message(msg, inc_session_id=True)
 
     def tear_down(self):
diff --git a/pychromecast/controllers/youtube.py b/pychromecast/controllers/youtube.py
index 96e7054..70a7caf 100644
--- a/pychromecast/controllers/youtube.py
+++ b/pychromecast/controllers/youtube.py
@@ -11,7 +11,7 @@ ATTR_SCREEN_ID = "screenId"
 
 
 class YouTubeController(BaseController):
-    """ Controller to interact with Plex namespace. """
+    """ Controller to interact with Youtube namespace. """
 
     def __init__(self):
         super(YouTubeController, self).__init__(
diff --git a/setup.py b/setup.py
index 0d1bb1b..6bccf0f 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ long_description = open('README.rst').read()
 
 setup(
     name='PyChromecast',
-    version='0.7.3',
+    version='0.7.4',
     license='MIT',
     url='https://github.com/balloob/pychromecast',
     author='Paulus Schoutsen',

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pychromecast.git



More information about the Python-modules-commits mailing list