vlc/python | branch: master | Jean Brouwers <mrje...@earthlink.net> | Tue Dec 7 18:23:15 2010 +0100| [b869ea0e2a5165bd7ddc8ac8dea93adc9efe47e0] | committer: Olivier Aubert
python-vlc: modify class init code Signed-off-by: Olivier Aubert <olivier.aub...@liris.cnrs.fr> > http://git.videolan.org/gitweb.cgi/vlc/python.git/?a=commit;h=b869ea0e2a5165bd7ddc8ac8dea93adc9efe47e0 --- override.py | 44 +++++++++++++++++++++----------------------- 1 files changed, 21 insertions(+), 23 deletions(-) diff --git a/override.py b/override.py index 4ac7a2e..f78fffa 100644 --- a/override.py +++ b/override.py @@ -225,28 +225,26 @@ class MediaListPlayer: - a vlc.Instance - nothing """ - def __new__(cls, *p): - if p and p[0] == 0: - return None - elif p and isinstance(p[0], (int, long)): - # instance creation from ctypes - o=object.__new__(cls) - o._as_parameter_=ctypes.c_void_p(p[0]) - return o - elif len(p) == 1 and isinstance(p[0], (tuple, list)): - p=p[0] - - if p and isinstance(p[0], Instance): - return p[0].media_list_player_new() + def __new__(cls, *args): + if len(args) == 1: + i = args[0] + if i == 0: + return None + if isinstance(i, _Ints): + return _Cobject(cls, ctypes.c_void_p(i)) + if isinstance(i, _Seqs): + args = i + + if args and isinstance(args[0], Instance): + i = args[0] else: - i=Instance() - o=i.media_list_player_new() - return o + i = Instance() + return i.media_list_player_new() def get_instance(self): - """Return the associated vlc.Instance. + """Return the associated Instance. """ - return self._instance + return self._instance #PYCHOK expected class LogIterator: """Create a new VLC log iterator. @@ -255,11 +253,11 @@ class LogIterator: return self def next(self): - if not self.has_next(): - raise StopIteration - buf=LogMessage() - ret=libvlc_log_iterator_next(self, buf) - return ret.contents + if self.has_next(): + b = LogMessage() + i = libvlc_log_iterator_next(self, b) + return i.contents + raise StopIteration class Log: """Create a new VLC log instance. _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org http://mailman.videolan.org/listinfo/vlc-commits