Package elisa :: Package plugins :: Package ugly :: Package stage6 :: Module stage_media :: Class StageMedia
[hide private]
[frames] | no frames]

Class StageMedia

source code


This class implements stage6 video website browsing support http://stage6.divx.com

Nested Classes [hide private]

Inherited from core.component.Component: __metaclass__

Instance Methods [hide private]
 
__init__(self)
We init here also the base class.
source code
 
initialize(self)
Initialize various variables internal to the Component.
source code
 
clean(self)
Perform some cleanups and save the Component config back to application's config.
source code
 
_logIn(self) source code
 
scannable_uri_schemes__get(self)
Retrieve the URI schemes that can be scanned by the media_scanner.
source code
 
supported_uri_schemes__get(self)
Retrieve the URI schemes supported by the provider, for each scheme there's a priority.
source code
twisted.internet.defer.Deferred
get_media_type(self, uri)
Same as blocking_get_media_type but without blocking (in theory).
source code
 
_get_media_type(self, uri) source code
twisted.internet.defer.Deferred
is_directory(self, uri)
Same as _blocking_is_directory but without blocking (in theory).
source code
 
_is_directory(self, uri) source code
 
has_children(self, uri) source code
 
_has_children(self, uri) source code
twisted.internet.defer.Deferred
has_children_with_types(self, uri, media_types)
Same as _blocking_has_children_with_types but without blocking (in theory).
source code
 
_has_children_with_types(self, uri, media_types) source code
 
_get_cached_uri(self, uri, children, add_info)
Return the list of children from a parent URI, or None if this URI has not yet been cached
source code
 
_add_to_cache(self, parent, child, info)
Attach a child to a parent in the cache
source code
elisa.core.media_uri.MediaUri
get_real_uri(self, uri)
Returns the original uri (acesable) from a virtual uri representation.
source code
 
_read_url(self, url)
Read an URI and return its content
source code
 
_retrieve_children(self, uri, list_of_children, add_info=True)
retrieve the children of uri and fills list
source code
twisted.internet.defer.Deferred
get_direct_children(self, uri, children_with_info)
Same as _blocking_get_direct_children but without blocking (in theory).
source code
twisted.internet.defer.Deferred
next_location(self, uri, root='frontend')
Same as _blocking_next_location but without blocking (in theory).
source code
 
_next_location(self, uri, root='frontend') source code
twisted.internet.defer.Deferred
previous_location(self, uri)
Same as _blocking_previous_location but without blocking (in theory).
source code
bool
uri_is_monitorable(self, uri)
Check if the uri is monitorable for modification
source code
bool
uri_is_monitored(self, uri)
Check if the uri is currently monitored for modification
source code
twisted.internet.defer.Deferred
open(self, uri, mode='frontend', block=True)
Same as _blocking_open but without blocking (in theory).
source code

Inherited from base_components.media_provider.MediaProvider: close, copy, delete, monitor_uri, move, read, seek, unmonitor_uri

Inherited from core.component.Component: load_config, save_config

Inherited from extern.log.log.Loggable: debug, doLog, error, info, log, logFunction, logObjectName, warning, warningFailure

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Static Methods [hide private]

Inherited from core.component.Component: __classinit__

Class Variables [hide private]
  MAIN_URL = 'http://stage6.divx.com/'
  TAGS_URL = 'http://stage6.divx.com/videos/'
  VIDEOS_URL = 'stage6://video.stage6.com/'
dict config_doc = {'certain_uris': 'This is a list of other Stage6-...
documentation for each option of the default configuration.
dict default_config = {'certain_uris': [], 'email': '', 'max_pages'...
used when nothing found in Application's config
string name = 'stage_media'
Component's name

Inherited from core.component.Component: checked, id, plugin

Inherited from extern.log.log.Loggable: logCategory

Instance Variables [hide private]

Inherited from core.component.Component: config, path

Properties [hide private]
list scannable_uri_schemes
DOCME
dict mapping string to int supported_uri_schemes
DOCME

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

source code 
We init here also the base class. Caching of directory listng will done in the self._cache dict, protected from concurrent access by a mutex
Overrides: core.component.Component.__init__

initialize(self)

source code 

Initialize various variables internal to the Component.

This method is called by the plugin_registry after the component's config has been loaded.

Override this method if you need to perform some initializations that would normally go in Component's constructor but can't be done there because they require access to the component's config.
Overrides: core.component.Component.initialize
(inherited documentation)

clean(self)

source code 
Perform some cleanups and save the Component config back to application's config. This method should be called by the elisa.core.manager.Manager holding the component reference when it stops itself.
Overrides: core.component.Component.clean
(inherited documentation)

scannable_uri_schemes__get(self)

source code 

Retrieve the URI schemes that can be scanned by the media_scanner. Since media scanning can be an heavy and long task the MediaProvider developer can choose to make the media_scanner skip URIs with scheme not appearing in returned list.

By default the return value of this method corresponds to the keys of supported_uri_schemes__get return value.

# FIXME: this should be documented in the class docstring as a class # variable
Overrides: base_components.media_provider.MediaProvider.scannable_uri_schemes__get
(inherited documentation)

supported_uri_schemes__get(self)

source code 

Retrieve the URI schemes supported by the provider, for each scheme there's a priority. Higher priority == 0 means the provider will always be used to read data from a given scheme.

This function is called by the MediaManager to know which media provider it has to use to access a specified URI. You should return a dict containing the uri scheme (such as 'file', 'cdda', ...) and its priority between 0 to 255 (0 being the topmost priority). The prority is used by the MediaManager to know which media provider it should use in case there are more than one who support the desired uri scheme. You might have for example a component which supports more than one scheme, but the support of one of them is not very efficient compared to what it could be. In this case you could modify its priority to tell the MediaManager that another component should be used instead of it to access this scheme.

example: { 'file': 0, 'smb': 10 }

# FIXME: this should be documented in the class docstring as a class # variable
Overrides: base_components.media_provider.MediaProvider.supported_uri_schemes__get
(inherited documentation)

get_media_type(self, uri)

source code 
Same as blocking_get_media_type but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using blocking_get_media_type result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.get_media_type
(inherited documentation)

is_directory(self, uri)

source code 
Same as _blocking_is_directory but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_is_directory result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.is_directory
(inherited documentation)

has_children_with_types(self, uri, media_types)

source code 
Same as _blocking_has_children_with_types but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_has_children_with_types result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.has_children_with_types
(inherited documentation)

get_real_uri(self, uri)

source code 
Returns the original uri (acesable) from a virtual uri representation.
Returns: elisa.core.media_uri.MediaUri
Overrides: base_components.media_provider.MediaProvider.get_real_uri
(inherited documentation)

_retrieve_children(self, uri, list_of_children, add_info=True)

source code 
retrieve the children of uri and fills list
Parameters:
  • uri (elisa.core.media_uri.MediaUri) - the URI to analyze
  • list_of_children (list) - List where the children will be appended
  • add_info (bool) - Add also the thumbnails to the list

get_direct_children(self, uri, children_with_info)

source code 
Same as _blocking_get_direct_children but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_get_direct_children result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.get_direct_children
(inherited documentation)

next_location(self, uri, root='frontend')

source code 
Same as _blocking_next_location but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_next_location result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.next_location
(inherited documentation)

previous_location(self, uri)

source code 
Same as _blocking_previous_location but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_previous_location result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.previous_location
(inherited documentation)

uri_is_monitorable(self, uri)

source code 
Check if the uri is monitorable for modification
Returns: bool
Overrides: base_components.media_provider.MediaProvider.uri_is_monitorable
(inherited documentation)

uri_is_monitored(self, uri)

source code 
Check if the uri is currently monitored for modification
Returns: bool
Overrides: base_components.media_provider.MediaProvider.uri_is_monitored
(inherited documentation)

open(self, uri, mode='frontend', block=True)

source code 
Same as _blocking_open but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_open result.
Returns: twisted.internet.defer.Deferred
Overrides: base_components.media_provider.MediaProvider.open
(inherited documentation)

Class Variable Details [hide private]

config_doc

documentation for each option of the default configuration. Keys should be same as the ones in default_config and values should be strings
Type:
dict
Value:
{'certain_uris': 'This is a list of other Stage6-Uris, see CONFIGURATI\
ON in the plugins-directory for more informations.',
 'email': 'The email which is registered at stage6, optional',
 'max_pages': 'The maximum number of other pages to show',
 'pages': 'Show the \'other pages\'-item, experimental. See CONFIGURAT\
ION for more informations',
 'password': 'the password'}

default_config

used when nothing found in Application's config
Type:
dict
Value:
{'certain_uris': [],
 'email': '',
 'max_pages': 99,
 'pages': 0,
 'password': ''}

Property Details [hide private]

scannable_uri_schemes

DOCME
Get Method:
elisa.plugins.ugly.stage6.stage_media.StageMedia.scannable_uri_schemes__get(self) - Retrieve the URI schemes that can be scanned by the media_scanner.
Set Method:
'frontend'
Delete Method:
'frontend'

supported_uri_schemes

DOCME
Get Method:
elisa.plugins.ugly.stage6.stage_media.StageMedia.supported_uri_schemes__get(self) - Retrieve the URI schemes supported by the provider, for each scheme there's a priority.
Set Method:
'frontend'
Delete Method:
'frontend'