[vlc-devel] commit: python-ctypes: improve documentation generation (Olivier Aubert )
git version control
git at videolan.org
Fri Jul 31 18:46:38 CEST 2009
vlc | branch: master | Olivier Aubert <olivier.aubert at liris.cnrs.fr> | Fri Jul 31 17:58:36 2009 +0200| [f60c10427081520adc73f61c9f7edf243efd26a5] | committer: Olivier Aubert
python-ctypes: improve documentation generation
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f60c10427081520adc73f61c9f7edf243efd26a5
---
bindings/python-ctypes/generate.py | 11 +++++++----
bindings/python-ctypes/header.py | 11 +++++++++++
bindings/python-ctypes/override.py | 4 ++++
3 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/bindings/python-ctypes/generate.py b/bindings/python-ctypes/generate.py
index 5f8ddb7..c7f61a0 100755
--- a/bindings/python-ctypes/generate.py
+++ b/bindings/python-ctypes/generate.py
@@ -207,7 +207,7 @@ def generate_header(classes=None):
def convert_enum_names(enums):
res={}
- for (typ, name, values) in enums:
+ for (typ, name, values, comment) in enums:
if typ != 'enum':
raise Exception('This method only handles enums')
pyname=re.findall('(libvlc|mediacontrol)_(.+?)(_t)?$', name)[0][1]
@@ -219,12 +219,13 @@ def convert_enum_names(enums):
return res
def generate_enums(enums):
- for (typ, name, values) in enums:
+ for (typ, name, values, comment) in enums:
if typ != 'enum':
raise Exception('This method only handles enums')
pyname=typ2class[name]
print "class %s(ctypes.c_uint):" % pyname
+ print ' """%s\n """' % comment
conv={}
# Convert symbol names
@@ -255,7 +256,7 @@ def parse_typedef(name):
"""Parse include file for typedef expressions.
This generates a tuple for each typedef:
- (type, name, value_list)
+ (type, name, value_list, comment)
with type == 'enum' (for the moment) and value_list being a list of (name, value)
Note that values are string, since this is intended for code generation.
"""
@@ -298,7 +299,9 @@ def parse_typedef(name):
else:
if l:
values.append( (l, str(i)) )
- yield (typ, name, values)
+ comment=comment.replace('@{', '').replace('@see', 'See').replace('\ingroup', '')
+ yield (typ, name, values, comment)
+ comment=''
def parse_include(name):
"""Parse include file.
diff --git a/bindings/python-ctypes/header.py b/bindings/python-ctypes/header.py
index 6684d12..f4a2c2d 100755
--- a/bindings/python-ctypes/header.py
+++ b/bindings/python-ctypes/header.py
@@ -22,6 +22,17 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
#
+"""This module provides bindings for the
+U{libvlc<http://wiki.videolan.org/ExternalAPI>} and
+U{MediaControl<http://wiki.videolan.org/MediaControlAPI>} APIs.
+
+You can find documentation at U{http://www.advene.org/download/python-ctypes/}.
+
+Basically, the most important class is L{Instance}, which is used to
+create a libvlc Instance. From this instance, you can then create
+L{MediaPlayer} and L{MediaListPlayer} instances.
+"""
+
import ctypes
import sys
diff --git a/bindings/python-ctypes/override.py b/bindings/python-ctypes/override.py
index 0bd39ca..382a33a 100644
--- a/bindings/python-ctypes/override.py
+++ b/bindings/python-ctypes/override.py
@@ -103,6 +103,8 @@ class MediaPlayer:
return o
def get_instance(self):
+ """Return the associated vlc.Instance.
+ """
return self._instance
class MediaListPlayer:
@@ -131,6 +133,8 @@ class MediaListPlayer:
return o
def get_instance(self):
+ """Return the associated vlc.Instance.
+ """
return self._instance
class LogIterator:
More information about the vlc-devel
mailing list