summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog62
-rw-r--r--codegen/argtypes.py434
-rw-r--r--codegen/codegen.py80
-rw-r--r--codegen/definitions.py426
-rw-r--r--codegen/defsconvert.py178
-rw-r--r--codegen/defsparser.py73
-rw-r--r--codegen/docextract.py162
-rwxr-xr-xcodegen/docextract_to_xml.py24
-rw-r--r--codegen/docgen.py66
-rwxr-xr-xcodegen/h2def.py36
-rwxr-xr-xcodegen/mkskel.py34
-rw-r--r--codegen/override.py144
-rw-r--r--codegen/reversewrapper.py10
-rw-r--r--examples/glade/autoconnect.py2
-rw-r--r--examples/gobject/editable-interface.py1
-rw-r--r--examples/gobject/signal.py8
-rw-r--r--examples/gtk/bin.py8
-rw-r--r--examples/gtk/filechooser.py1
-rw-r--r--examples/gtk/scrollable.py6
-rw-r--r--examples/gtk/sizegroup.py2
-rw-r--r--examples/gtk/uimanager.py8
-rw-r--r--examples/ide/edit.py8
-rwxr-xr-xexamples/ide/gtkdb.py2
-rwxr-xr-xexamples/ide/gtkprof.py2
-rw-r--r--examples/pango/pangocairo-simple.py36
-rw-r--r--examples/pango/utf8-demo.py3
-rw-r--r--examples/pygtk-demo/demos/changedisplay.py1
-rw-r--r--examples/pygtk-demo/demos/dnd.py2
-rw-r--r--examples/pygtk-demo/demos/dndpixmap.py87
-rw-r--r--examples/pygtk-demo/demos/entry_completion.py1
-rw-r--r--examples/pygtk-demo/demos/expander.py1
-rw-r--r--examples/pygtk-demo/demos/hypertext.py1
-rw-r--r--examples/pygtk-demo/demos/list_store.py1
-rw-r--r--examples/pygtk-demo/demos/textview.py10
-rw-r--r--examples/pygtk-demo/demos/tree_store.py1
-rw-r--r--examples/pygtk-demo/demos/treemodel.py1
-rw-r--r--examples/simple/dnd.py6
-rw-r--r--examples/simple/dndpixmap.py87
-rwxr-xr-xexamples/simple/hello.py3
-rwxr-xr-xexamples/simple/scribble.py106
-rwxr-xr-xexamples/simple/simple.py19
-rwxr-xr-xexamples/simple/tooltip.py13
-rw-r--r--gtk/__init__.py8
-rw-r--r--gtk/compat.py4
-rw-r--r--gtk/keysyms.py4
-rw-r--r--ltihooks.py48
-rwxr-xr-xsetup.py12
-rw-r--r--tests/common.py17
-rw-r--r--tests/runtests.py4
-rw-r--r--tests/test_actiongroup.py4
-rw-r--r--tests/test_conversion.py14
-rw-r--r--tests/test_dialog.py4
-rw-r--r--tests/test_enum.py10
-rw-r--r--tests/test_gdkevent.py2
-rw-r--r--tests/test_liststore.py2
-rw-r--r--tests/test_radiobutton.py14
-rw-r--r--tests/test_style.py1
-rw-r--r--tests/testmodule.py1
58 files changed, 1172 insertions, 1133 deletions
diff --git a/ChangeLog b/ChangeLog
index 53e0186e..5236f696 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,65 @@
+2006-04-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * codegen/argtypes.py:
+ * codegen/codegen.py:
+ * codegen/definitions.py:
+ * codegen/defsconvert.py:
+ * codegen/defsparser.py:
+ * codegen/docextract.py:
+ * codegen/docextract_to_xml.py:
+ * codegen/docgen.py:
+ * codegen/h2def.py:
+ * codegen/mkskel.py:
+ * codegen/override.py:
+ * codegen/reversewrapper.py:
+ * examples/glade/autoconnect.py:
+ * examples/gobject/editable-interface.py:
+ * examples/gobject/signal.py:
+ * examples/gtk/bin.py:
+ * examples/gtk/filechooser.py:
+ * examples/gtk/scrollable.py:
+ * examples/gtk/sizegroup.py:
+ * examples/gtk/uimanager.py:
+ * examples/ide/edit.py:
+ * examples/ide/gtkdb.py:
+ * examples/ide/gtkprof.py:
+ * examples/pango/pangocairo-simple.py:
+ * examples/pango/utf8-demo.py:
+ * examples/pygtk-demo/demos/changedisplay.py:
+ * examples/pygtk-demo/demos/dnd.py:
+ * examples/pygtk-demo/demos/dndpixmap.py:
+ * examples/pygtk-demo/demos/entry_completion.py:
+ * examples/pygtk-demo/demos/expander.py:
+ * examples/pygtk-demo/demos/hypertext.py:
+ * examples/pygtk-demo/demos/list_store.py:
+ * examples/pygtk-demo/demos/textview.py:
+ * examples/pygtk-demo/demos/tree_store.py:
+ * examples/pygtk-demo/demos/treemodel.py:
+ * examples/simple/dnd.py:
+ * examples/simple/dndpixmap.py:
+ * examples/simple/hello.py:
+ * examples/simple/scribble.py:
+ * examples/simple/simple.py:
+ * examples/simple/tooltip.py:
+ * gtk/__init__.py:
+ * gtk/compat.py:
+ * gtk/keysyms.py:
+ * ltihooks.py:
+ * setup.py:
+ * tests/common.py:
+ * tests/runtests.py:
+ * tests/test_actiongroup.py:
+ * tests/test_conversion.py:
+ * tests/test_dialog.py:
+ * tests/test_enum.py:
+ * tests/test_gdkevent.py:
+ * tests/test_liststore.py:
+ * tests/test_radiobutton.py:
+ * tests/test_style.py:
+ * tests/testmodule.py:
+
+ Run reindent.py on all python code.
+
2006-04-02 Johan Dahlin <johan@gnome.org>
* gtk/gdk.defs (rotate_simple): Add gdk.Pixbuf.rotate_simple,
diff --git a/codegen/argtypes.py b/codegen/argtypes.py
index 7da1e4a1..3255c439 100644
--- a/codegen/argtypes.py
+++ b/codegen/argtypes.py
@@ -8,24 +8,24 @@ import struct
class VarList:
"""Nicely format a C variable list"""
def __init__(self):
- self.vars = {}
+ self.vars = {}
def add(self, ctype, name):
- if self.vars.has_key(ctype):
- self.vars[ctype] = self.vars[ctype] + (name,)
- else:
- self.vars[ctype] = (name,)
+ if self.vars.has_key(ctype):
+ self.vars[ctype] = self.vars[ctype] + (name,)
+ else:
+ self.vars[ctype] = (name,)
def __str__(self):
- ret = []
- for type in self.vars.keys():
- ret.append(' ')
- ret.append(type)
- ret.append(' ')
- ret.append(string.join(self.vars[type], ', '))
- ret.append(';\n')
- if ret:
+ ret = []
+ for type in self.vars.keys():
+ ret.append(' ')
+ ret.append(type)
+ ret.append(' ')
+ ret.append(string.join(self.vars[type], ', '))
+ ret.append(';\n')
+ if ret:
ret.append('\n')
return string.join(ret, '')
- return ''
+ return ''
class WrapperInfo:
"""A class that holds information about variable defs, code
@@ -67,15 +67,15 @@ class WrapperInfo:
class ArgType:
def write_param(self, ptype, pname, pdflt, pnull, info):
- """Add code to the WrapperInfo instance to handle
- parameter."""
- raise RuntimeError, "write_param not implemented for %s" % \
+ """Add code to the WrapperInfo instance to handle
+ parameter."""
+ raise RuntimeError, "write_param not implemented for %s" % \
self.__class__.__name__
def write_return(self, ptype, ownsreturn, info):
- """Adds a variable named ret of the return type to
- info.varlist, and add any required code to info.codeafter to
- convert the return value to a python object."""
- raise RuntimeError, "write_return not implemented for %s" % \
+ """Adds a variable named ret of the return type to
+ info.varlist, and add any required code to info.codeafter to
+ convert the return value to a python object."""
+ raise RuntimeError, "write_return not implemented for %s" % \
self.__class__.__name__
class NoneArg(ArgType):
@@ -85,20 +85,20 @@ class NoneArg(ArgType):
class StringArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
+ if pdflt:
if pdflt != 'NULL': pdflt = '"' + pdflt + '"'
- info.varlist.add('char', '*' + pname + ' = ' + pdflt)
- else:
- info.varlist.add('char', '*' + pname)
- info.arglist.append(pname)
- if pnull:
+ info.varlist.add('char', '*' + pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('char', '*' + pname)
+ info.arglist.append(pname)
+ if pnull:
info.add_parselist('z', ['&' + pname], [pname])
- else:
+ else:
info.add_parselist('s', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
if ownsreturn:
- # have to free result ...
- info.varlist.add('gchar', '*ret')
+ # have to free result ...
+ info.varlist.add('gchar', '*ret')
info.codeafter.append(' if (ret) {\n' +
' PyObject *py_ret = PyString_FromString(ret);\n' +
' g_free(ret);\n' +
@@ -106,8 +106,8 @@ class StringArg(ArgType):
' }\n' +
' Py_INCREF(Py_None);\n' +
' return Py_None;')
- else:
- info.varlist.add('const gchar', '*ret')
+ else:
+ info.varlist.add('const gchar', '*ret')
info.codeafter.append(' if (ret)\n' +
' return PyString_FromString(ret);\n'+
' Py_INCREF(Py_None);\n' +
@@ -116,29 +116,29 @@ class StringArg(ArgType):
class UCharArg(ArgType):
# allows strings with embedded NULLs.
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('guchar', '*' + pname + ' = "' + pdflt + '"')
- else:
- info.varlist.add('guchar', '*' + pname)
+ if pdflt:
+ info.varlist.add('guchar', '*' + pname + ' = "' + pdflt + '"')
+ else:
+ info.varlist.add('guchar', '*' + pname)
info.varlist.add('int', pname + '_len')
- info.arglist.append(pname)
- if pnull:
+ info.arglist.append(pname)
+ if pnull:
info.add_parselist('z#', ['&' + pname, '&' + pname + '_len'],
[pname])
- else:
+ else:
info.add_parselist('s#', ['&' + pname, '&' + pname + '_len'],
[pname])
class CharArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('char', pname + " = '" + pdflt + "'")
- else:
- info.varlist.add('char', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('char', pname + " = '" + pdflt + "'")
+ else:
+ info.varlist.add('char', pname)
+ info.arglist.append(pname)
info.add_parselist('c', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
- info.varlist.add('gchar', 'ret')
+ info.varlist.add('gchar', 'ret')
info.codeafter.append(' return PyString_FromStringAndSize(&ret, 1);')
class GUniCharArg(ArgType):
ret_tmpl = ('#if !defined(Py_UNICODE_SIZE) || Py_UNICODE_SIZE == 2\n'
@@ -150,25 +150,25 @@ class GUniCharArg(ArgType):
' py_ret = (Py_UNICODE)ret;\n'
' return PyUnicode_FromUnicode(&py_ret, 1);\n')
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('gunichar', pname + " = '" + pdflt + "'")
- else:
- info.varlist.add('gunichar', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('gunichar', pname + " = '" + pdflt + "'")
+ else:
+ info.varlist.add('gunichar', pname)
+ info.arglist.append(pname)
info.add_parselist('O&', ['pyg_pyobj_to_unichar_conv', '&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('gunichar', 'ret')
info.varlist.add('Py_UNICODE', 'py_ret')
info.codeafter.append(self.ret_tmpl)
-
+
class IntArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('int', pname + ' = ' + pdflt)
- else:
- info.varlist.add('int', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('int', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('int', pname)
+ info.arglist.append(pname)
info.add_parselist('i', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('int', 'ret')
@@ -196,9 +196,9 @@ class UIntArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
if not pdflt:
pdflt = '0';
-
+
info.varlist.add(ptype, pname + ' = ' + pdflt)
- info.codebefore.append(self.dflt % {'name':pname})
+ info.codebefore.append(self.dflt % {'name':pname})
info.varlist.add('PyObject', "*py_" + pname + ' = NULL')
info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
@@ -212,13 +212,13 @@ class SizeArg(ArgType):
llp64 = True
else:
llp64 = False
-
+
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add(ptype, pname + ' = ' + pdflt)
- else:
- info.varlist.add(ptype, pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add(ptype, pname + ' = ' + pdflt)
+ else:
+ info.varlist.add(ptype, pname)
+ info.arglist.append(pname)
if self.llp64:
info.add_parselist('k', ['&' + pname], [pname])
else:
@@ -236,13 +236,13 @@ class SSizeArg(ArgType):
llp64 = True
else:
llp64 = False
-
+
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add(ptype, pname + ' = ' + pdflt)
- else:
- info.varlist.add(ptype, pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add(ptype, pname + ' = ' + pdflt)
+ else:
+ info.varlist.add(ptype, pname)
+ info.arglist.append(pname)
if self.llp64:
info.add_parselist('l', ['&' + pname], [pname])
else:
@@ -256,11 +256,11 @@ class SSizeArg(ArgType):
class LongArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add(ptype, pname + ' = ' + pdflt)
- else:
- info.varlist.add(ptype, pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add(ptype, pname + ' = ' + pdflt)
+ else:
+ info.varlist.add(ptype, pname)
+ info.arglist.append(pname)
info.add_parselist('l', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add(ptype, 'ret')
@@ -273,11 +273,11 @@ class BoolArg(IntArg):
class TimeTArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('time_t', pname + ' = ' + pdflt)
- else:
- info.varlist.add('time_t', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('time_t', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('time_t', pname)
+ info.arglist.append(pname)
info.add_parselist('i', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('time_t', 'ret')
@@ -285,11 +285,11 @@ class TimeTArg(ArgType):
class ULongArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('unsigned long', pname + ' = ' + pdflt)
- else:
- info.varlist.add('unsigned long', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('unsigned long', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('unsigned long', pname)
+ info.arglist.append(pname)
info.add_parselist('k', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add(ptype, 'ret')
@@ -311,11 +311,11 @@ class UInt32Arg(ULongArg):
class Int64Arg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('gint64', pname + ' = ' + pdflt)
- else:
- info.varlist.add('gint64', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('gint64', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('gint64', pname)
+ info.arglist.append(pname)
info.add_parselist('L', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('gint64', 'ret')
@@ -328,25 +328,25 @@ class UInt64Arg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
if pdflt:
info.varlist.add('guint64', pname + ' = ' + pdflt)
- info.codebefore.append(self.dflt % {'name':pname})
+ info.codebefore.append(self.dflt % {'name':pname})
else:
info.varlist.add('guint64', pname)
- info.codebefore.append(self.before % {'name':pname})
+ info.codebefore.append(self.before % {'name':pname})
info.varlist.add('PyObject', "*py_" + pname + ' = NULL')
info.arglist.append(pname)
info.add_parselist('O!', ['&PyLong_Type', '&py_' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('guint64', 'ret')
info.codeafter.append(' return PyLong_FromUnsignedLongLong(ret);')
-
+
class DoubleArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add('double', pname + ' = ' + pdflt)
- else:
- info.varlist.add('double', pname)
- info.arglist.append(pname)
+ if pdflt:
+ info.varlist.add('double', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('double', pname)
+ info.arglist.append(pname)
info.add_parselist('d', ['&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('double', 'ret')
@@ -359,7 +359,7 @@ class FileArg(ArgType):
' %s = PyFile_AsFile(py_%(name)s);\n'
' else if (py_%(name)s) {\n'
' PyErr_SetString(PyExc_TypeError, "%(name)s should be a file object or None");\n'
- ' return NULL;\n'
+ ' return NULL;\n'
' }')
null = (' if (py_%(name)s && PyFile_Check(py_%(name)s)\n'
' %(name)s = PyFile_AsFile(py_%(name)s);\n'
@@ -370,29 +370,29 @@ class FileArg(ArgType):
dflt = (' if (py_%(name)s)\n'
' %(name)s = PyFile_AsFile(py_%(name)s);\n')
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pnull:
- if pdflt:
- info.varlist.add('FILE', '*' + pname + ' = ' + pdflt)
- info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
- info.codebefore.append(self.nulldflt % {'name':pname})
- else:
- info.varlist.add('FILE', '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname)
- info.codebefore.append(self.null & {'name':pname})
+ if pnull:
+ if pdflt:
+ info.varlist.add('FILE', '*' + pname + ' = ' + pdflt)
+ info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
+ info.codebefore.append(self.nulldflt % {'name':pname})
+ else:
+ info.varlist.add('FILE', '*' + pname + ' = NULL')
+ info.varlist.add('PyObject', '*py_' + pname)
+ info.codebefore.append(self.null & {'name':pname})
info.arglist.appned(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
- else:
- if pdflt:
- info.varlist.add('FILE', '*' + pname + ' = ' + pdflt)
- info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
- info.codebefore.append(self.dflt % {'name':pname})
- info.arglist.append(pname)
- else:
- info.varlist.add('PyObject', '*' + pname)
- info.arglist.append('PyFile_AsFile(' + pname + ')')
+ else:
+ if pdflt:
+ info.varlist.add('FILE', '*' + pname + ' = ' + pdflt)
+ info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
+ info.codebefore.append(self.dflt % {'name':pname})
+ info.arglist.append(pname)
+ else:
+ info.varlist.add('PyObject', '*' + pname)
+ info.arglist.append('PyFile_AsFile(' + pname + ')')
info.add_parselist('O!', ['&PyFile_Type', '&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
- info.varlist.add('FILE', '*ret')
+ info.varlist.add('FILE', '*ret')
info.codeafter.append(' if (ret)\n' +
' return PyFile_FromFile(ret, "", "", fclose);\n' +
' Py_INCREF(Py_None);\n' +
@@ -402,17 +402,17 @@ class EnumArg(ArgType):
enum = (' if (pyg_enum_get_value(%(typecode)s, py_%(name)s, (gint *)&%(name)s))\n'
' return NULL;\n')
def __init__(self, enumname, typecode):
- self.enumname = enumname
- self.typecode = typecode
+ self.enumname = enumname
+ self.typecode = typecode
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add(self.enumname, pname + ' = ' + pdflt)
- else:
- info.varlist.add(self.enumname, pname)
- info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
- info.codebefore.append(self.enum % { 'typecode': self.typecode,
+ if pdflt:
+ info.varlist.add(self.enumname, pname + ' = ' + pdflt)
+ else:
+ info.varlist.add(self.enumname, pname)
+ info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
+ info.codebefore.append(self.enum % { 'typecode': self.typecode,
'name': pname})
- info.arglist.append(pname)
+ info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname]);
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('gint', 'ret')
@@ -422,20 +422,20 @@ class FlagsArg(ArgType):
flag = (' if (%(default)spyg_flags_get_value(%(typecode)s, py_%(name)s, (gint *)&%(name)s))\n'
' return NULL;\n')
def __init__(self, flagname, typecode):
- self.flagname = flagname
- self.typecode = typecode
+ self.flagname = flagname
+ self.typecode = typecode
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pdflt:
- info.varlist.add(self.flagname, pname + ' = ' + pdflt)
+ if pdflt:
+ info.varlist.add(self.flagname, pname + ' = ' + pdflt)
default = "py_%s && " % (pname,)
- else:
- info.varlist.add(self.flagname, pname)
+ else:
+ info.varlist.add(self.flagname, pname)
default = ""
- info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
+ info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
info.codebefore.append(self.flag % {'default':default,
'typecode':self.typecode,
'name':pname})
- info.arglist.append(pname)
+ info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('guint', 'ret')
@@ -461,47 +461,47 @@ class ObjectArg(ArgType):
dflt = ' if (py_%(name)s)\n' \
' %(name)s = %(cast)s(py_%(name)s->obj);\n'
def __init__(self, objname, parent, typecode):
- self.objname = objname
- self.cast = string.replace(typecode, '_TYPE_', '_', 1)
+ self.objname = objname
+ self.cast = string.replace(typecode, '_TYPE_', '_', 1)
self.parent = parent
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pnull:
- if pdflt:
- info.varlist.add(self.objname, '*' + pname + ' = ' + pdflt)
- info.varlist.add('PyGObject', '*py_' + pname + ' = NULL')
- info.codebefore.append(self.nulldflt % {'name':pname,
+ if pnull:
+ if pdflt:
+ info.varlist.add(self.objname, '*' + pname + ' = ' + pdflt)
+ info.varlist.add('PyGObject', '*py_' + pname + ' = NULL')
+ info.codebefore.append(self.nulldflt % {'name':pname,
'cast':self.cast,
- 'type':self.objname})
- else:
- info.varlist.add(self.objname, '*' + pname + ' = NULL')
- info.varlist.add('PyGObject', '*py_' + pname)
- info.codebefore.append(self.null % {'name':pname,
+ 'type':self.objname})
+ else:
+ info.varlist.add(self.objname, '*' + pname + ' = NULL')
+ info.varlist.add('PyGObject', '*py_' + pname)
+ info.codebefore.append(self.null % {'name':pname,
'cast':self.cast,
- 'type':self.objname})
+ 'type':self.objname})
if ptype.endswith('*'):
- typename = ptype[:-1]
+ typename = ptype[:-1]
try:
const, typename = typename.split('const-')
except ValueError:
const = ''
- if typename != ptype:
- info.arglist.append('(%s *) %s' % (ptype[:-1], pname))
- else:
- info.arglist.append(pname)
-
- info.add_parselist('O', ['&py_' + pname], [pname])
- else:
- if pdflt:
- info.varlist.add(self.objname, '*' + pname + ' = ' + pdflt)
- info.varlist.add('PyGObject', '*py_' + pname + ' = NULL')
- info.codebefore.append(self.dflt % {'name':pname,
- 'cast':self.cast})
- info.arglist.append(pname)
+ if typename != ptype:
+ info.arglist.append('(%s *) %s' % (ptype[:-1], pname))
+ else:
+ info.arglist.append(pname)
+
+ info.add_parselist('O', ['&py_' + pname], [pname])
+ else:
+ if pdflt:
+ info.varlist.add(self.objname, '*' + pname + ' = ' + pdflt)
+ info.varlist.add('PyGObject', '*py_' + pname + ' = NULL')
+ info.codebefore.append(self.dflt % {'name':pname,
+ 'cast':self.cast})
+ info.arglist.append(pname)
info.add_parselist('O!', ['&Py%s_Type' % self.objname,
'&py_' + pname], [pname])
- else:
- info.varlist.add('PyGObject', '*' + pname)
- info.arglist.append('%s(%s->obj)' % (self.cast, pname))
+ else:
+ info.varlist.add('PyGObject', '*' + pname)
+ info.arglist.append('%s(%s->obj)' % (self.cast, pname))
info.add_parselist('O!', ['&Py%s_Type' % self.objname,
'&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
@@ -532,19 +532,19 @@ class BoxedArg(ArgType):
' return NULL;\n'
' }\n')
def __init__(self, ptype, typecode):
- self.typename = ptype
- self.typecode = typecode
+ self.typename = ptype
+ self.typecode = typecode
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pnull:
+ if pnull:
info.varlist.add(self.typename, '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
- info.codebefore.append(self.null % {'name': pname,
+ info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
+ info.codebefore.append(self.null % {'name': pname,
'typename': self.typename,
'typecode': self.typecode})
- else:
+ else:
info.varlist.add(self.typename, '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname)
- info.codebefore.append(self.check % {'name': pname,
+ info.varlist.add('PyObject', '*py_' + pname)
+ info.codebefore.append(self.check % {'name': pname,
'typename': self.typename,
'typecode': self.typecode})
if ptype[-1] == '*':
@@ -581,23 +581,23 @@ class CustomBoxedArg(ArgType):
' return NULL;\n'
' }\n')
def __init__(self, ptype, pytype, getter, new):
- self.pytype = pytype
- self.getter = getter
+ self.pytype = pytype
+ self.getter = getter
self.checker = 'Py' + ptype + '_Check'
- self.new = new
+ self.new = new
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pnull:
+ if pnull:
info.varlist.add(ptype[:-1], '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
- info.codebefore.append(self.null % {'name': pname,
+ info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
+ info.codebefore.append(self.null % {'name': pname,
'get': self.getter,
'check': self.checker,
'type': ptype[:-1]})
- info.arglist.append(pname)
+ info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
- else:
- info.varlist.add('PyObject', '*' + pname)
- info.arglist.append(self.getter + '(' + pname + ')')
+ else:
+ info.varlist.add('PyObject', '*' + pname)
+ info.arglist.append(self.getter + '(' + pname + ')')
info.add_parselist('O!', ['&' + self.pytype, '&' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add(ptype[:-1], '*ret')
@@ -621,19 +621,19 @@ class PointerArg(ArgType):
' return NULL;\n'
' }\n')
def __init__(self, ptype, typecode):
- self.typename = ptype
- self.typecode = typecode
+ self.typename = ptype
+ self.typecode = typecode
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pnull:
+ if pnull:
info.varlist.add(self.typename, '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
- info.codebefore.append(self.null % {'name': pname,
+ info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
+ info.codebefore.append(self.null % {'name': pname,
'typename': self.typename,
'typecode': self.typecode})
- else:
+ else:
info.varlist.add(self.typename, '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname)
- info.codebefore.append(self.check % {'name': pname,
+ info.varlist.add('PyObject', '*py_' + pname)
+ info.codebefore.append(self.check % {'name': pname,
'typename': self.typename,
'typecode': self.typecode})
info.arglist.append(pname)
@@ -677,9 +677,9 @@ class GTypeArg(ArgType):
' return NULL;\n')
def write_param(self, ptype, pname, pdflt, pnull, info):
info.varlist.add('GType', pname)
- info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
- info.codebefore.append(self.gtype % {'name': pname})
- info.arglist.append(pname)
+ info.varlist.add('PyObject', '*py_' + pname + ' = NULL')
+ info.codebefore.append(self.gtype % {'name': pname})
+ info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
def write_return(self, ptype, ownsreturn, info):
info.varlist.add('GType', 'ret')
@@ -713,17 +713,17 @@ class GtkTreePathArg(ArgType):
def __init__(self):
pass
def write_param(self, ptype, pname, pdflt, pnull, info):
- if pnull:
+ if pnull:
info.varlist.add('GtkTreePath', '*' + pname + ' = NULL')
- info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
- info.codebefore.append(self.null % {'name': pname})
- info.arglist.append(pname)
+ info.varlist.add('PyObject', '*py_' + pname + ' = Py_None')
+ info.codebefore.append(self.null % {'name': pname})
+ info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
- else:
+ else:
info.varlist.add('GtkTreePath', '*' + pname)
- info.varlist.add('PyObject', '*py_' + pname)
+ info.varlist.add('PyObject', '*py_' + pname)
info.codebefore.append(self.normal % {'name': pname})
- info.arglist.append(pname)
+ info.arglist.append(pname)
info.add_parselist('O', ['&py_' + pname], [pname])
info.codeafter.append(self.freepath % {'name': pname})
def write_return(self, ptype, ownsreturn, info):
@@ -743,7 +743,7 @@ class GtkTreePathArg(ArgType):
' }\n'
' Py_INCREF(Py_None);\n'
' return Py_None;')
-
+
class GdkRectanglePtrArg(ArgType):
normal = (' if (!pygdk_rectangle_from_pyobject(py_%(name)s, &%(name)s))\n'
' return NULL;\n')
@@ -770,8 +770,8 @@ class GdkRectanglePtrArg(ArgType):
class GdkRectangleArg(ArgType):
def write_return(self, ptype, ownsreturn, info):
- info.varlist.add('GdkRectangle', 'ret')
- info.codeafter.append(' return pyg_boxed_new(GDK_TYPE_RECTANGLE, &ret, TRUE, TRUE);')
+ info.varlist.add('GdkRectangle', 'ret')
+ info.codeafter.append(' return pyg_boxed_new(GDK_TYPE_RECTANGLE, &ret, TRUE, TRUE);')
class PyObjectArg(ArgType):
def write_param(self, ptype, pname, pdflt, pnull, info):
@@ -807,17 +807,17 @@ class CairoArg(ArgType):
class ArgMatcher:
def __init__(self):
- self.argtypes = {}
- self.reverse_argtypes = {}
- self.reverse_rettypes = {}
+ self.argtypes = {}
+ self.reverse_argtypes = {}
+ self.reverse_rettypes = {}
def register(self, ptype, handler):
- self.argtypes[ptype] = handler
+ self.argtypes[ptype] = handler
def register_reverse(self, ptype, handler):
- self.reverse_argtypes[ptype] = handler
+ self.reverse_argtypes[ptype] = handler
def register_reverse_ret(self, ptype, handler):
- self.reverse_rettypes[ptype] = handler
-
+ self.reverse_rettypes[ptype] = handler
+
def register_enum(self, ptype, typecode):
if typecode is None:
typecode = "G_TYPE_NONE"
@@ -825,12 +825,12 @@ class ArgMatcher:
def register_flag(self, ptype, typecode):
if typecode is None:
typecode = "G_TYPE_NONE"
- self.register(ptype, FlagsArg(ptype, typecode))
+ self.register(ptype, FlagsArg(ptype, typecode))
def register_object(self, ptype, parent, typecode):
oa = ObjectArg(ptype, parent, typecode)
self.register(ptype, oa) # in case I forget the * in the .defs
- self.register(ptype+'*', oa)
- self.register('const-'+ptype+'*', oa)
+ self.register(ptype+'*', oa)
+ self.register('const-'+ptype+'*', oa)
if ptype == 'GdkPixmap':
# hack to handle GdkBitmap synonym.
self.register('GdkBitmap', oa)
@@ -839,16 +839,16 @@ class ArgMatcher:
if self.argtypes.has_key(ptype): return
arg = BoxedArg(ptype, typecode)
self.register(ptype, arg)
- self.register(ptype+'*', arg)
+ self.register(ptype+'*', arg)
self.register('const-'+ptype+'*', arg)
def register_custom_boxed(self, ptype, pytype, getter, new):
arg = CustomBoxedArg(ptype, pytype, getter, new)
- self.register(ptype+'*', arg)
+ self.register(ptype+'*', arg)
self.register('const-'+ptype+'*', arg)
def register_pointer(self, ptype, typecode):
arg = PointerArg(ptype, typecode)
self.register(ptype, arg)
- self.register(ptype+'*', arg)
+ self.register(ptype+'*', arg)
self.register('const-'+ptype+'*', arg)
def get(self, ptype):
diff --git a/codegen/codegen.py b/codegen/codegen.py
index 2c1a7ba9..c4d1739e 100644
--- a/codegen/codegen.py
+++ b/codegen/codegen.py
@@ -44,7 +44,7 @@ def exc_info():
def fixname(name):
if keyword.iskeyword(name):
- return name + '_'
+ return name + '_'
return name
class FileOutput:
@@ -81,43 +81,43 @@ class Wrapper:
type_tmpl = \
'PyTypeObject Py%(typename)s_Type = {\n' \
' PyObject_HEAD_INIT(NULL)\n' \
- ' 0, /* ob_size */\n' \
- ' "%(classname)s", /* tp_name */\n' \
- ' sizeof(%(tp_basicsize)s), /* tp_basicsize */\n' \
- ' 0, /* tp_itemsize */\n' \
+ ' 0, /* ob_size */\n' \
+ ' "%(classname)s", /* tp_name */\n' \
+ ' sizeof(%(tp_basicsize)s), /* tp_basicsize */\n' \
+ ' 0, /* tp_itemsize */\n' \
' /* methods */\n' \
- ' (destructor)%(tp_dealloc)s, /* tp_dealloc */\n' \
- ' (printfunc)0, /* tp_print */\n' \
- ' (getattrfunc)%(tp_getattr)s, /* tp_getattr */\n' \
- ' (setattrfunc)%(tp_setattr)s, /* tp_setattr */\n' \
- ' (cmpfunc)%(tp_compare)s, /* tp_compare */\n' \
- ' (reprfunc)%(tp_repr)s, /* tp_repr */\n' \
+ ' (destructor)%(tp_dealloc)s, /* tp_dealloc */\n' \
+ ' (printfunc)0, /* tp_print */\n' \
+ ' (getattrfunc)%(tp_getattr)s, /* tp_getattr */\n' \
+ ' (setattrfunc)%(tp_setattr)s, /* tp_setattr */\n' \
+ ' (cmpfunc)%(tp_compare)s, /* tp_compare */\n' \
+ ' (reprfunc)%(tp_repr)s, /* tp_repr */\n' \
' (PyNumberMethods*)%(tp_as_number)s, /* tp_as_number */\n' \
' (PySequenceMethods*)%(tp_as_sequence)s, /* tp_as_sequence */\n' \
' (PyMappingMethods*)%(tp_as_mapping)s, /* tp_as_mapping */\n' \
- ' (hashfunc)%(tp_hash)s, /* tp_hash */\n' \
- ' (ternaryfunc)%(tp_call)s, /* tp_call */\n' \
- ' (reprfunc)%(tp_str)s, /* tp_str */\n' \
- ' (getattrofunc)%(tp_getattro)s, /* tp_getattro */\n' \
- ' (setattrofunc)%(tp_setattro)s, /* tp_setattro */\n' \
- ' (PyBufferProcs*)%(tp_as_buffer)s, /* tp_as_buffer */\n' \
+ ' (hashfunc)%(tp_hash)s, /* tp_hash */\n' \
+ ' (ternaryfunc)%(tp_call)s, /* tp_call */\n' \
+ ' (reprfunc)%(tp_str)s, /* tp_str */\n' \
+ ' (getattrofunc)%(tp_getattro)s, /* tp_getattro */\n' \
+ ' (setattrofunc)%(tp_setattro)s, /* tp_setattro */\n' \
+ ' (PyBufferProcs*)%(tp_as_buffer)s, /* tp_as_buffer */\n' \
' %(tp_flags)s, /* tp_flags */\n' \
- ' %(tp_doc)s, /* Documentation string */\n' \
- ' (traverseproc)%(tp_traverse)s, /* tp_traverse */\n' \
- ' (inquiry)%(tp_clear)s, /* tp_clear */\n' \
- ' (richcmpfunc)%(tp_richcompare)s, /* tp_richcompare */\n' \
+ ' %(tp_doc)s, /* Documentation string */\n' \
+ ' (traverseproc)%(tp_traverse)s, /* tp_traverse */\n' \
+ ' (inquiry)%(tp_clear)s, /* tp_clear */\n' \
+ ' (richcmpfunc)%(tp_richcompare)s, /* tp_richcompare */\n' \
' %(tp_weaklistoffset)s, /* tp_weaklistoffset */\n' \
- ' (getiterfunc)%(tp_iter)s, /* tp_iter */\n' \
- ' (iternextfunc)%(tp_iternext)s, /* tp_iternext */\n' \
+ ' (getiterfunc)%(tp_iter)s, /* tp_iter */\n' \
+ ' (iternextfunc)%(tp_iternext)s, /* tp_iternext */\n' \
' (struct PyMethodDef*)%(tp_methods)s, /* tp_methods */\n' \
- ' (struct PyMemberDef*)0, /* tp_members */\n' \
+ ' (struct PyMemberDef*)0, /* tp_members */\n' \
' (struct PyGetSetDef*)%(tp_getset)s, /* tp_getset */\n' \
- ' NULL, /* tp_base */\n' \
- ' NULL, /* tp_dict */\n' \
- ' (descrgetfunc)%(tp_descr_get)s, /* tp_descr_get */\n' \
- ' (descrsetfunc)%(tp_descr_set)s, /* tp_descr_set */\n' \
+ ' NULL, /* tp_base */\n' \
+ ' NULL, /* tp_dict */\n' \
+ ' (descrgetfunc)%(tp_descr_get)s, /* tp_descr_get */\n' \
+ ' (descrsetfunc)%(tp_descr_set)s, /* tp_descr_set */\n' \
' %(tp_dictoffset)s, /* tp_dictoffset */\n' \
- ' (initproc)%(tp_init)s, /* tp_init */\n' \
+ ' (initproc)%(tp_init)s, /* tp_init */\n' \
' (allocfunc)%(tp_alloc)s, /* tp_alloc */\n' \
' (newfunc)%(tp_new)s, /* tp_new */\n' \
' (freefunc)%(tp_free)s, /* tp_free */\n' \
@@ -1257,10 +1257,10 @@ def register_types(parser):
for obj in parser.interfaces:
argtypes.matcher.register_object(obj.c_name, None, obj.typecode)
for enum in parser.enums:
- if enum.deftype == 'flags':
- argtypes.matcher.register_flag(enum.c_name, enum.typecode)
- else:
- argtypes.matcher.register_enum(enum.c_name, enum.typecode)
+ if enum.deftype == 'flags':
+ argtypes.matcher.register_flag(enum.c_name, enum.typecode)
+ else:
+ argtypes.matcher.register_enum(enum.c_name, enum.typecode)
usage = 'usage: codegen.py [-o overridesfile] [-p prefix] defsfile'
def main(argv):
@@ -1278,7 +1278,7 @@ def main(argv):
elif opt in ('-p', '--prefix'):
prefix = arg
elif opt in ('-r', '--register'):
- # Warning: user has to make sure all -D options appear before -r
+ # Warning: user has to make sure all -D options appear before -r
p = defsparser.DefsParser(arg, defines)
p.startParsing()
register_types(p)
@@ -1290,12 +1290,12 @@ def main(argv):
elif opt in ('-t', '--load-types'):
globals = {}
execfile(arg, globals)
- elif opt == '-D':
- nameval = arg.split('=')
- try:
- defines[nameval[0]] = nameval[1]
- except IndexError:
- defines[nameval[0]] = None
+ elif opt == '-D':
+ nameval = arg.split('=')
+ try:
+ defines[nameval[0]] = nameval[1]
+ except IndexError:
+ defines[nameval[0]] = None
if len(args) < 1:
print >> sys.stderr, usage
return 1
diff --git a/codegen/definitions.py b/codegen/definitions.py
index 85f5bb83..8a33163b 100644
--- a/codegen/definitions.py
+++ b/codegen/definitions.py
@@ -48,15 +48,15 @@ class Property(object):
class Definition:
docstring = "NULL"
def __init__(self, *args):
- """Create a new defs object of this type. The arguments are the
- components of the definition"""
- raise RuntimeError, "this is an abstract class"
+ """Create a new defs object of this type. The arguments are the
+ components of the definition"""
+ raise RuntimeError, "this is an abstract class"
def merge(self, old):
- """Merge in customisations from older version of definition"""
- raise RuntimeError, "this is an abstract class"
+ """Merge in customisations from older version of definition"""
+ raise RuntimeError, "this is an abstract class"
def write_defs(self, fp=sys.stdout):
- """write out this definition in defs file format"""
- raise RuntimeError, "this is an abstract class"
+ """write out this definition in defs file format"""
+ raise RuntimeError, "this is an abstract class"
def guess_return_value_ownership(self):
"return 1 if caller owns return value"
@@ -70,162 +70,162 @@ class Definition:
class ObjectDef(Definition):
def __init__(self, name, *args):
- self.name = name
- self.module = None
- self.parent = None
- self.c_name = None
+ self.name = name
+ self.module = None
+ self.parent = None
+ self.c_name = None
self.typecode = None
- self.fields = []
+ self.fields = []
self.implements = []
self.class_init_func = None
self.has_new_constructor_api = False
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'in-module':
- self.module = arg[1]
- elif arg[0] == 'docstring':
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'in-module':
+ self.module = arg[1]
+ elif arg[0] == 'docstring':
self.docstring = make_docstring(arg[1:])
- elif arg[0] == 'parent':
+ elif arg[0] == 'parent':
self.parent = arg[1]
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
- elif arg[0] == 'fields':
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
+ elif arg[0] == 'fields':
for parg in arg[1:]:
self.fields.append((parg[0], parg[1]))
elif arg[0] == 'implements':
self.implements.append(arg[1])
def merge(self, old):
- # currently the .h parser doesn't try to work out what fields of
- # an object structure should be public, so we just copy the list
- # from the old version ...
- self.fields = old.fields
+ # currently the .h parser doesn't try to work out what fields of
+ # an object structure should be public, so we just copy the list
+ # from the old version ...
+ self.fields = old.fields
self.implements = old.implements
def write_defs(self, fp=sys.stdout):
- fp.write('(define-object ' + self.name + '\n')
- if self.module:
- fp.write(' (in-module "' + self.module + '")\n')
- if self.parent != (None, None):
- fp.write(' (parent "' + self.parent + '")\n')
+ fp.write('(define-object ' + self.name + '\n')
+ if self.module:
+ fp.write(' (in-module "' + self.module + '")\n')
+ if self.parent != (None, None):
+ fp.write(' (parent "' + self.parent + '")\n')
for interface in self.implements:
fp.write(' (implements "' + interface + '")\n')
- if self.c_name:
- fp.write(' (c-name "' + self.c_name + '")\n')
- if self.typecode:
- fp.write(' (gtype-id "' + self.typecode + '")\n')
+ if self.c_name:
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ if self.typecode:
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
if self.fields:
fp.write(' (fields\n')
for (ftype, fname) in self.fields:
fp.write(' \'("' + ftype + '" "' + fname + '")\n')
fp.write(' )\n')
- fp.write(')\n\n')
+ fp.write(')\n\n')
class InterfaceDef(Definition):
def __init__(self, name, *args):
- self.name = name
- self.module = None
- self.c_name = None
+ self.name = name
+ self.module = None
+ self.c_name = None
self.typecode = None
self.vtable = None
- self.fields = []
+ self.fields = []
self.interface_info = None
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'in-module':
- self.module = arg[1]
- elif arg[0] == 'docstring':
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'in-module':
+ self.module = arg[1]
+ elif arg[0] == 'docstring':
self.docstring = make_docstring(arg[1:])
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
- elif arg[0] == 'vtable':
- self.vtable = arg[1]
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
+ elif arg[0] == 'vtable':
+ self.vtable = arg[1]
if self.vtable is None:
self.vtable = self.c_name + "Iface"
def write_defs(self, fp=sys.stdout):
- fp.write('(define-interface ' + self.name + '\n')
- if self.module:
- fp.write(' (in-module "' + self.module + '")\n')
- if self.c_name:
- fp.write(' (c-name "' + self.c_name + '")\n')
- if self.typecode:
- fp.write(' (gtype-id "' + self.typecode + '")\n')
- fp.write(')\n\n')
+ fp.write('(define-interface ' + self.name + '\n')
+ if self.module:
+ fp.write(' (in-module "' + self.module + '")\n')
+ if self.c_name:
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ if self.typecode:
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
+ fp.write(')\n\n')
class EnumDef(Definition):
def __init__(self, name, *args):
- self.deftype = 'enum'
- self.name = name
- self.in_module = None
- self.c_name = None
+ self.deftype = 'enum'
+ self.name = name
+ self.in_module = None
+ self.c_name = None
self.typecode = None
- self.values = []
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'in-module':
- self.in_module = arg[1]
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
- elif arg[0] == 'values':
+ self.values = []
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'in-module':
+ self.in_module = arg[1]
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
+ elif arg[0] == 'values':
for varg in arg[1:]:
self.values.append((varg[0], varg[1]))
def merge(self, old):
- pass
+ pass
def write_defs(self, fp=sys.stdout):
- fp.write('(define-' + self.deftype + ' ' + self.name + '\n')
- if self.in_module:
- fp.write(' (in-module "' + self.in_module + '")\n')
- fp.write(' (c-name "' + self.c_name + '")\n')
- fp.write(' (gtype-id "' + self.typecode + '")\n')
+ fp.write('(define-' + self.deftype + ' ' + self.name + '\n')
+ if self.in_module:
+ fp.write(' (in-module "' + self.in_module + '")\n')
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
if self.values:
fp.write(' (values\n')
for name, val in self.values:
fp.write(' \'("' + name + '" "' + val + '")\n')
fp.write(' )\n')
- fp.write(')\n\n')
+ fp.write(')\n\n')
class FlagsDef(EnumDef):
def __init__(self, *args):
- apply(EnumDef.__init__, (self,) + args)
- self.deftype = 'flags'
+ apply(EnumDef.__init__, (self,) + args)
+ self.deftype = 'flags'
class BoxedDef(Definition):
def __init__(self, name, *args):
- self.name = name
- self.module = None
- self.c_name = None
+ self.name = name
+ self.module = None
+ self.c_name = None
self.typecode = None
self.copy = None
self.release = None
- self.fields = []
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'in-module':
- self.module = arg[1]
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
+ self.fields = []
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'in-module':
+ self.module = arg[1]
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
elif arg[0] == 'copy-func':
self.copy = arg[1]
elif arg[0] == 'release-func':
self.release = arg[1]
- elif arg[0] == 'fields':
+ elif arg[0] == 'fields':
for parg in arg[1:]:
self.fields.append((parg[0], parg[1]))
def merge(self, old):
- # currently the .h parser doesn't try to work out what fields of
- # an object structure should be public, so we just copy the list
- # from the old version ...
- self.fields = old.fields
+ # currently the .h parser doesn't try to work out what fields of
+ # an object structure should be public, so we just copy the list
+ # from the old version ...
+ self.fields = old.fields
def write_defs(self, fp=sys.stdout):
- fp.write('(define-boxed ' + self.name + '\n')
- if self.module:
- fp.write(' (in-module "' + self.module + '")\n')
- if self.c_name:
- fp.write(' (c-name "' + self.c_name + '")\n')
- if self.typecode:
- fp.write(' (gtype-id "' + self.typecode + '")\n')
+ fp.write('(define-boxed ' + self.name + '\n')
+ if self.module:
+ fp.write(' (in-module "' + self.module + '")\n')
+ if self.c_name:
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ if self.typecode:
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
if self.copy:
fp.write(' (copy-func "' + self.copy + '")\n')
if self.release:
@@ -235,71 +235,71 @@ class BoxedDef(Definition):
for (ftype, fname) in self.fields:
fp.write(' \'("' + ftype + '" "' + fname + '")\n')
fp.write(' )\n')
- fp.write(')\n\n')
+ fp.write(')\n\n')
class PointerDef(Definition):
def __init__(self, name, *args):
- self.name = name
- self.module = None
- self.c_name = None
+ self.name = name
+ self.module = None
+ self.c_name = None
self.typecode = None
- self.fields = []
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'in-module':
- self.module = arg[1]
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
- elif arg[0] == 'fields':
+ self.fields = []
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'in-module':
+ self.module = arg[1]
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
+ elif arg[0] == 'fields':
for parg in arg[1:]:
self.fields.append((parg[0], parg[1]))
def merge(self, old):
- # currently the .h parser doesn't try to work out what fields of
- # an object structure should be public, so we just copy the list
- # from the old version ...
- self.fields = old.fields
+ # currently the .h parser doesn't try to work out what fields of
+ # an object structure should be public, so we just copy the list
+ # from the old version ...
+ self.fields = old.fields
def write_defs(self, fp=sys.stdout):
- fp.write('(define-pointer ' + self.name + '\n')
- if self.module:
- fp.write(' (in-module "' + self.module + '")\n')
- if self.c_name:
- fp.write(' (c-name "' + self.c_name + '")\n')
- if self.typecode:
- fp.write(' (gtype-id "' + self.typecode + '")\n')
+ fp.write('(define-pointer ' + self.name + '\n')
+ if self.module:
+ fp.write(' (in-module "' + self.module + '")\n')
+ if self.c_name:
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ if self.typecode:
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
if self.fields:
fp.write(' (fields\n')
for (ftype, fname) in self.fields:
fp.write(' \'("' + ftype + '" "' + fname + '")\n')
fp.write(' )\n')
- fp.write(')\n\n')
+ fp.write(')\n\n')
class MethodDefBase(Definition):
def __init__(self, name, *args):
dump = 0
- self.name = name
- self.ret = None
+ self.name = name
+ self.ret = None
self.caller_owns_return = None
- self.c_name = None
+ self.c_name = None
self.typecode = None
- self.of_object = None
- self.params = [] # of form (type, name, default, nullok)
+ self.of_object = None
+ self.params = [] # of form (type, name, default, nullok)
self.varargs = 0
self.deprecated = None
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'of-object':
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'of-object':
self.of_object = arg[1]
- elif arg[0] == 'docstring':
+ elif arg[0] == 'docstring':
self.docstring = make_docstring(arg[1:])
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
- elif arg[0] == 'return-type':
- self.ret = arg[1]
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
+ elif arg[0] == 'return-type':
+ self.ret = arg[1]
elif arg[0] == 'caller-owns-return':
self.caller_owns_return = arg[1] in ('t', '#t')
- elif arg[0] == 'parameters':
+ elif arg[0] == 'parameters':
for parg in arg[1:]:
ptype = parg[0]
pname = parg[1]
@@ -332,29 +332,29 @@ class MethodDefBase(Definition):
def merge(self, old, parmerge):
self.caller_owns_return = old.caller_owns_return
self.varargs = old.varargs
- # here we merge extra parameter flags accross to the new object.
+ # here we merge extra parameter flags accross to the new object.
if not parmerge:
self.params = deepcopy(old.params)
return
- for i in range(len(self.params)):
- ptype, pname, pdflt, pnull = self.params[i]
- for p2 in old.params:
- if p2[1] == pname:
- self.params[i] = (ptype, pname, p2[2], p2[3])
- break
+ for i in range(len(self.params)):
+ ptype, pname, pdflt, pnull = self.params[i]
+ for p2 in old.params:
+ if p2[1] == pname:
+ self.params[i] = (ptype, pname, p2[2], p2[3])
+ break
def _write_defs(self, fp=sys.stdout):
- if self.of_object != (None, None):
- fp.write(' (of-object "' + self.of_object + '")\n')
- if self.c_name:
- fp.write(' (c-name "' + self.c_name + '")\n')
- if self.typecode:
- fp.write(' (gtype-id "' + self.typecode + '")\n')
+ if self.of_object != (None, None):
+ fp.write(' (of-object "' + self.of_object + '")\n')
+ if self.c_name:
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ if self.typecode:
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
if self.caller_owns_return:
- fp.write(' (caller-owns-return #t)\n')
- if self.ret:
- fp.write(' (return-type "' + self.ret + '")\n')
- if self.deprecated:
- fp.write(' (deprecated "' + self.deprecated + '")\n')
+ fp.write(' (caller-owns-return #t)\n')
+ if self.ret:
+ fp.write(' (return-type "' + self.ret + '")\n')
+ if self.deprecated:
+ fp.write(' (deprecated "' + self.deprecated + '")\n')
if self.params:
fp.write(' (parameters\n')
for ptype, pname, pdflt, pnull in self.params:
@@ -363,9 +363,9 @@ class MethodDefBase(Definition):
if pnull: fp.write(' (null-ok)')
fp.write(')\n')
fp.write(' )\n')
- if self.varargs:
- fp.write(' (varargs #t)\n')
- fp.write(')\n\n')
+ if self.varargs:
+ fp.write(' (varargs #t)\n')
+ fp.write(')\n\n')
class MethodDef(MethodDefBase):
@@ -377,43 +377,43 @@ class MethodDef(MethodDefBase):
raise RuntimeError, "definition missing required %s" % (item,)
def write_defs(self, fp=sys.stdout):
- fp.write('(define-method ' + self.name + '\n')
+ fp.write('(define-method ' + self.name + '\n')
self._write_defs(fp)
class VirtualDef(MethodDefBase):
def write_defs(self, fp=sys.stdout):
- fp.write('(define-virtual ' + self.name + '\n')
+ fp.write('(define-virtual ' + self.name + '\n')
self._write_defs(fp)
class FunctionDef(Definition):
def __init__(self, name, *args):
dump = 0
- self.name = name
- self.in_module = None
- self.is_constructor_of = None
- self.ret = None
+ self.name = name
+ self.in_module = None
+ self.is_constructor_of = None
+ self.ret = None
self.caller_owns_return = None
- self.c_name = None
+ self.c_name = None
self.typecode = None
- self.params = [] # of form (type, name, default, nullok)
+ self.params = [] # of form (type, name, default, nullok)
self.varargs = 0
self.deprecated = None
- for arg in get_valid_scheme_definitions(args):
- if arg[0] == 'in-module':
- self.in_module = arg[1]
- elif arg[0] == 'docstring':
+ for arg in get_valid_scheme_definitions(args):
+ if arg[0] == 'in-module':
+ self.in_module = arg[1]
+ elif arg[0] == 'docstring':
self.docstring = make_docstring(arg[1:])
- elif arg[0] == 'is-constructor-of':
- self.is_constructor_of = arg[1]
- elif arg[0] == 'c-name':
- self.c_name = arg[1]
- elif arg[0] == 'gtype-id':
- self.typecode = arg[1]
- elif arg[0] == 'return-type':
- self.ret = arg[1]
+ elif arg[0] == 'is-constructor-of':
+ self.is_constructor_of = arg[1]
+ elif arg[0] == 'c-name':
+ self.c_name = arg[1]
+ elif arg[0] == 'gtype-id':
+ self.typecode = arg[1]
+ elif arg[0] == 'return-type':
+ self.ret = arg[1]
elif arg[0] == 'caller-owns-return':
self.caller_owns_return = arg[1] in ('t', '#t')
- elif arg[0] == 'parameters':
+ elif arg[0] == 'parameters':
for parg in arg[1:]:
ptype = parg[0]
pname = parg[1]
@@ -425,7 +425,7 @@ class FunctionDef(Definition):
elif farg[0] == 'null-ok':
pnull = 1
self.params.append(Parameter(ptype, pname, pdflt, pnull))
- elif arg[0] == 'properties':
+ elif arg[0] == 'properties':
if self.is_constructor_of is None:
print >> sys.stderr, "Warning: (properties ...) "\
"is only valid for constructors"
@@ -465,10 +465,10 @@ class FunctionDef(Definition):
if not parmerge:
self.params = deepcopy(old.params)
return
- # here we merge extra parameter flags accross to the new object.
+ # here we merge extra parameter flags accross to the new object.
def merge_param(param):
- for old_param in old.params:
- if old_param.pname == param.pname:
+ for old_param in old.params:
+ if old_param.pname == param.pname:
if isinstance(old_param, Property):
# h2def never scans Property's, therefore if
# we have one it was manually written, so we
@@ -486,33 +486,33 @@ class FunctionDef(Definition):
# safer to keep the old parameter list untouched.
self.params = deepcopy(old.params)
- if not self.is_constructor_of:
+ if not self.is_constructor_of:
try:
self.is_constructor_of = old.is_constructor_of
except AttributeError:
pass
- if isinstance(old, MethodDef):
- self.name = old.name
- # transmogrify from function into method ...
- self.write_defs = self._method_write_defs
- self.of_object = old.of_object
- del self.params[0]
+ if isinstance(old, MethodDef):
+ self.name = old.name
+ # transmogrify from function into method ...
+ self.write_defs = self._method_write_defs
+ self.of_object = old.of_object
+ del self.params[0]
def write_defs(self, fp=sys.stdout):
- fp.write('(define-function ' + self.name + '\n')
- if self.in_module:
- fp.write(' (in-module "' + self.in_module + '")\n')
- if self.is_constructor_of:
- fp.write(' (is-constructor-of "' + self.is_constructor_of +'")\n')
- if self.c_name:
- fp.write(' (c-name "' + self.c_name + '")\n')
- if self.typecode:
- fp.write(' (gtype-id "' + self.typecode + '")\n')
+ fp.write('(define-function ' + self.name + '\n')
+ if self.in_module:
+ fp.write(' (in-module "' + self.in_module + '")\n')
+ if self.is_constructor_of:
+ fp.write(' (is-constructor-of "' + self.is_constructor_of +'")\n')
+ if self.c_name:
+ fp.write(' (c-name "' + self.c_name + '")\n')
+ if self.typecode:
+ fp.write(' (gtype-id "' + self.typecode + '")\n')
if self.caller_owns_return:
- fp.write(' (caller-owns-return #t)\n')
- if self.ret:
- fp.write(' (return-type "' + self.ret + '")\n')
- if self.deprecated:
- fp.write(' (deprecated "' + self.deprecated + '")\n')
+ fp.write(' (caller-owns-return #t)\n')
+ if self.ret:
+ fp.write(' (return-type "' + self.ret + '")\n')
+ if self.deprecated:
+ fp.write(' (deprecated "' + self.deprecated + '")\n')
if self.params:
if isinstance(self.params[0], Parameter):
fp.write(' (parameters\n')
@@ -531,7 +531,7 @@ class FunctionDef(Definition):
fp.write(' )\n')
else:
assert False, "strange parameter list %r" % self.params[0]
- if self.varargs:
- fp.write(' (varargs #t)\n')
+ if self.varargs:
+ fp.write(' (varargs #t)\n')
- fp.write(')\n\n')
+ fp.write(')\n\n')
diff --git a/codegen/defsconvert.py b/codegen/defsconvert.py
index 365a507f..2e71f7b8 100644
--- a/codegen/defsconvert.py
+++ b/codegen/defsconvert.py
@@ -36,95 +36,95 @@ def convert(infp=sys.stdin, outfp=sys.stdout):
line = infp.readline()
while line:
- if line[:8] == '(object ':
- state = STATE_OBJECT
- seen_params = 0
- outfp.write('(define-object ' + line[8:])
- elif line[:11] == '(interface ':
- state = STATE_INTERFACE
- seen_params = 0
- outfp.write('(define-interface ' + line[11:])
- elif line[:7] == '(boxed ':
- state = STATE_BOXED
- seen_params = 0
- outfp.write('(define-boxed ' + line[7:])
- elif line[:6] == '(enum ':
- state = STATE_ENUM
- seen_params = 0
- outfp.write('(define-enum ' + line[6:])
- elif line[:7] == '(flags ':
- state = STATE_FLAGS
- seen_params = 0
- outfp.write('(define-flags ' + line[7:])
- elif line[:8] == '(method ':
- state = STATE_METHOD
- seen_params = 0
- outfp.write('(define-method ' + line[8:])
- elif line[:10] == '(function ':
- state = STATE_FUNCTION
- seen_params = 0
- outfp.write('(define-function ' + line[10:])
- elif line[:13] == ' (in-module ':
- outfp.write(re.sub(r'^(\s+\(in-module\s+)(\w+)(.*)$',
- r'\1"\2"\3', line))
- elif line[:10] == ' (parent ':
- outfp.write(re.sub(r'^(\s+\(parent\s+)(\w+)(\s+\((\w+)\))?(.*)$',
- r'\1"\4\2"\5', line))
- elif line[:14] == ' (implements ':
- outfp.write(re.sub(r'^(\s+\(implements\s+)([^\s]+)(\s*\))$',
- r'\1"\2"\3', line))
- elif line[:13] == ' (of-object ':
- outfp.write(re.sub(r'^(\s+\(of-object\s+)(\w+)(\s+\((\w+)\))?(.*)$',
- r'\1"\4\2"\5', line))
- elif line[:10] == ' (c-name ':
- outfp.write(re.sub(r'^(\s+\(c-name\s+)([^\s]+)(\s*\))$',
- r'\1"\2"\3', line))
- if state in (STATE_OBJECT, STATE_INTERFACE, STATE_BOXED,
- STATE_ENUM, STATE_FLAGS):
- c_name = re.match(r'^\s+\(c-name\s+([^\s]+)\s*\)$',
- line).group(1)
- outfp.write(' (gtype-id "%s")\n' % typecode(c_name))
- elif line[:15] == ' (return-type ':
- outfp.write(re.sub(r'^(\s+\(return-type\s+)([^\s]+)(\s*\))$',
- r'\1"\2"\3', line))
- elif line[:13] == ' (copy-func ':
- outfp.write(re.sub(r'^(\s+\(copy-func\s+)(\w+)(.*)$',
- r'\1"\2"\3', line))
- elif line[:16] == ' (release-func ':
- outfp.write(re.sub(r'^(\s+\(release-func\s+)(\w+)(.*)$',
- r'\1"\2"\3', line))
- elif line[:9] == ' (field ':
- if not seen_params:
- outfp.write(' (fields\n')
- seen_params = 1
- outfp.write(re.sub(r'^\s+\(field\s+\(type-and-name\s+([^\s]+)\s+([^\s]+)\s*\)\s*\)$',
- ' \'("\\1" "\\2")', line))
- elif line[:9] == ' (value ':
- if not seen_params:
- outfp.write(' (values\n')
- seen_params = 1
- outfp.write(re.sub(r'^\s+\(value\s+\(name\s+([^\s]+)\)\s+\(c-name\s+([^\s]+)\s*\)\s*\)$',
- ' \'("\\1" "\\2")', line))
- elif line[:13] == ' (parameter ':
- if not seen_params:
- outfp.write(' (parameters\n')
- seen_params = 1
- outfp.write(re.sub(r'^\s+\(parameter\s+\(type-and-name\s+([^\s]+)\s+([^\s]+)\s*\)(\s*.*)\)$',
- ' \'("\\1" "\\2"\\3)', line))
- elif line[:11] == ' (varargs ':
- if seen_params:
- outfp.write(' )\n')
- seen_params = 0
- outfp.write(' (varargs #t)\n')
- elif line[0] == ')':
- if seen_params:
- outfp.write(' )\n')
- seen_params = 0
- state = STATE_START
- outfp.write(line)
- else:
- outfp.write(line)
- line = infp.readline()
+ if line[:8] == '(object ':
+ state = STATE_OBJECT
+ seen_params = 0
+ outfp.write('(define-object ' + line[8:])
+ elif line[:11] == '(interface ':
+ state = STATE_INTERFACE
+ seen_params = 0
+ outfp.write('(define-interface ' + line[11:])
+ elif line[:7] == '(boxed ':
+ state = STATE_BOXED
+ seen_params = 0
+ outfp.write('(define-boxed ' + line[7:])
+ elif line[:6] == '(enum ':
+ state = STATE_ENUM
+ seen_params = 0
+ outfp.write('(define-enum ' + line[6:])
+ elif line[:7] == '(flags ':
+ state = STATE_FLAGS
+ seen_params = 0
+ outfp.write('(define-flags ' + line[7:])
+ elif line[:8] == '(method ':
+ state = STATE_METHOD
+ seen_params = 0
+ outfp.write('(define-method ' + line[8:])
+ elif line[:10] == '(function ':
+ state = STATE_FUNCTION
+ seen_params = 0
+ outfp.write('(define-function ' + line[10:])
+ elif line[:13] == ' (in-module ':
+ outfp.write(re.sub(r'^(\s+\(in-module\s+)(\w+)(.*)$',
+ r'\1"\2"\3', line))
+ elif line[:10] == ' (parent ':
+ outfp.write(re.sub(r'^(\s+\(parent\s+)(\w+)(\s+\((\w+)\))?(.*)$',
+ r'\1"\4\2"\5', line))
+ elif line[:14] == ' (implements ':
+ outfp.write(re.sub(r'^(\s+\(implements\s+)([^\s]+)(\s*\))$',
+ r'\1"\2"\3', line))
+ elif line[:13] == ' (of-object ':
+ outfp.write(re.sub(r'^(\s+\(of-object\s+)(\w+)(\s+\((\w+)\))?(.*)$',
+ r'\1"\4\2"\5', line))
+ elif line[:10] == ' (c-name ':
+ outfp.write(re.sub(r'^(\s+\(c-name\s+)([^\s]+)(\s*\))$',
+ r'\1"\2"\3', line))
+ if state in (STATE_OBJECT, STATE_INTERFACE, STATE_BOXED,
+ STATE_ENUM, STATE_FLAGS):
+ c_name = re.match(r'^\s+\(c-name\s+([^\s]+)\s*\)$',
+ line).group(1)
+ outfp.write(' (gtype-id "%s")\n' % typecode(c_name))
+ elif line[:15] == ' (return-type ':
+ outfp.write(re.sub(r'^(\s+\(return-type\s+)([^\s]+)(\s*\))$',
+ r'\1"\2"\3', line))
+ elif line[:13] == ' (copy-func ':
+ outfp.write(re.sub(r'^(\s+\(copy-func\s+)(\w+)(.*)$',
+ r'\1"\2"\3', line))
+ elif line[:16] == ' (release-func ':
+ outfp.write(re.sub(r'^(\s+\(release-func\s+)(\w+)(.*)$',
+ r'\1"\2"\3', line))
+ elif line[:9] == ' (field ':
+ if not seen_params:
+ outfp.write(' (fields\n')
+ seen_params = 1
+ outfp.write(re.sub(r'^\s+\(field\s+\(type-and-name\s+([^\s]+)\s+([^\s]+)\s*\)\s*\)$',
+ ' \'("\\1" "\\2")', line))
+ elif line[:9] == ' (value ':
+ if not seen_params:
+ outfp.write(' (values\n')
+ seen_params = 1
+ outfp.write(re.sub(r'^\s+\(value\s+\(name\s+([^\s]+)\)\s+\(c-name\s+([^\s]+)\s*\)\s*\)$',
+ ' \'("\\1" "\\2")', line))
+ elif line[:13] == ' (parameter ':
+ if not seen_params:
+ outfp.write(' (parameters\n')
+ seen_params = 1
+ outfp.write(re.sub(r'^\s+\(parameter\s+\(type-and-name\s+([^\s]+)\s+([^\s]+)\s*\)(\s*.*)\)$',
+ ' \'("\\1" "\\2"\\3)', line))
+ elif line[:11] == ' (varargs ':
+ if seen_params:
+ outfp.write(' )\n')
+ seen_params = 0
+ outfp.write(' (varargs #t)\n')
+ elif line[0] == ')':
+ if seen_params:
+ outfp.write(' )\n')
+ seen_params = 0
+ state = STATE_START
+ outfp.write(line)
+ else:
+ outfp.write(line)
+ line = infp.readline()
if __name__ == '__main__':
convert()
diff --git a/codegen/defsparser.py b/codegen/defsparser.py
index e3b5f7ef..2489c7a7 100644
--- a/codegen/defsparser.py
+++ b/codegen/defsparser.py
@@ -17,22 +17,22 @@ class IncludeParser(scmexpr.Parser):
class DefsParser(IncludeParser):
def __init__(self, arg, defines={}):
- IncludeParser.__init__(self, arg)
- self.objects = []
+ IncludeParser.__init__(self, arg)
+ self.objects = []
self.interfaces = []
- self.enums = [] # enums and flags
+ self.enums = [] # enums and flags
self.boxes = [] # boxed types
self.pointers = [] # pointer types
- self.functions = [] # functions and methods
- self.virtuals = [] # virtual methods
- self.c_name = {} # hash of c names of functions
- self.methods = {} # hash of methods of particular objects
- self.defines = defines # -Dfoo=bar options, as dictionary
+ self.functions = [] # functions and methods
+ self.virtuals = [] # virtual methods
+ self.c_name = {} # hash of c names of functions
+ self.methods = {} # hash of methods of particular objects
+ self.defines = defines # -Dfoo=bar options, as dictionary
def define_object(self, *args):
- odef = apply(ObjectDef, args)
- self.objects.append(odef)
- self.c_name[odef.c_name] = odef
+ odef = apply(ObjectDef, args)
+ self.objects.append(odef)
+ self.c_name[odef.c_name] = odef
def define_interface(self, *args):
idef = apply(InterfaceDef, args)
self.interfaces.append(idef)
@@ -54,16 +54,16 @@ class DefsParser(IncludeParser):
self.pointers.append(pdef)
self.c_name[pdef.c_name] = pdef
def define_function(self, *args):
- fdef = apply(FunctionDef, args)
- self.functions.append(fdef)
- self.c_name[fdef.c_name] = fdef
+ fdef = apply(FunctionDef, args)
+ self.functions.append(fdef)
+ self.c_name[fdef.c_name] = fdef
def define_method(self, *args):
- mdef = apply(MethodDef, args)
- self.functions.append(mdef)
- self.c_name[mdef.c_name] = mdef
+ mdef = apply(MethodDef, args)
+ self.functions.append(mdef)
+ self.c_name[mdef.c_name] = mdef
def define_virtual(self, *args):
- vdef = apply(VirtualDef, args)
- self.virtuals.append(vdef)
+ vdef = apply(VirtualDef, args)
+ self.virtuals.append(vdef)
def merge(self, old, parmerge):
for obj in self.objects:
if old.c_name.has_key(obj.c_name):
@@ -73,24 +73,24 @@ class DefsParser(IncludeParser):
f.merge(old.c_name[f.c_name], parmerge)
def printMissing(self, old):
- for obj in self.objects:
- if not old.c_name.has_key(obj.c_name):
+ for obj in self.objects:
+ if not old.c_name.has_key(obj.c_name):
obj.write_defs()
- for f in self.functions:
- if not old.c_name.has_key(f.c_name):
- f.write_defs()
+ for f in self.functions:
+ if not old.c_name.has_key(f.c_name):
+ f.write_defs()
def write_defs(self, fp=sys.stdout):
- for obj in self.objects:
- obj.write_defs(fp)
- for enum in self.enums:
- enum.write_defs(fp)
+ for obj in self.objects:
+ obj.write_defs(fp)
+ for enum in self.enums:
+ enum.write_defs(fp)
for boxed in self.boxes:
boxed.write_defs(fp)
for pointer in self.pointers:
pointer.write_defs(fp)
- for func in self.functions:
- func.write_defs(fp)
+ for func in self.functions:
+ func.write_defs(fp)
def find_object(self, c_name):
for obj in self.objects:
@@ -122,12 +122,11 @@ class DefsParser(IncludeParser):
not func.is_constructor_of, self.functions)
def ifdef(self, *args):
- if args[0] in self.defines:
- for arg in args[1:]:
- self.handle(arg)
+ if args[0] in self.defines:
+ for arg in args[1:]:
+ self.handle(arg)
def ifndef(self, *args):
- if args[0] not in self.defines:
- for arg in args[1:]:
- self.handle(arg)
-
+ if args[0] not in self.defines:
+ for arg in args[1:]:
+ self.handle(arg)
diff --git a/codegen/docextract.py b/codegen/docextract.py
index 1de45678..e398d783 100644
--- a/codegen/docextract.py
+++ b/codegen/docextract.py
@@ -8,18 +8,18 @@ __all__ = ['extract']
class FunctionDoc:
def __init__(self):
- self.name = None
- self.params = []
- self.description = ''
- self.ret = ''
+ self.name = None
+ self.params = []
+ self.description = ''
+ self.ret = ''
def set_name(self, name):
- self.name = name
+ self.name = name
def add_param(self, name, description):
- if name == '...':
- name = 'Varargs'
- self.params.append((name, description))
+ if name == '...':
+ name = 'Varargs'
+ self.params.append((name, description))
def append_to_last_param(self, extra):
- self.params[-1] = (self.params[-1][0], self.params[-1][1] + extra)
+ self.params[-1] = (self.params[-1][0], self.params[-1][1] + extra)
def append_to_named_param(self, name, extra):
for i in range(len(self.params)):
if self.params[i][0] == name:
@@ -28,9 +28,9 @@ class FunctionDoc:
# fall through to adding extra parameter ...
self.add_param(name, extra)
def append_description(self, extra):
- self.description = self.description + extra
+ self.description = self.description + extra
def append_return(self, extra):
- self.ret = self.ret + extra
+ self.ret = self.ret + extra
def get_param_description(self, name):
for param, description in self.params:
@@ -44,97 +44,97 @@ comment_end_pat = re.compile(r'^\s*\*+/')
comment_line_lead = re.compile(r'^\s*\*\s*')
funcname_pat = re.compile(r'^(\w+)\s*:?')
return_pat = re.compile(r'^(returns:|return\s+value:|returns\s*)(.*\n?)$',
- re.IGNORECASE)
+ re.IGNORECASE)
param_pat = re.compile(r'^@(\S+)\s*:(.*\n?)$')
def parse_file(fp, doc_dict):
line = fp.readline()
in_comment_block = 0
while line:
- if not in_comment_block:
- if comment_start_pat.match(line):
- in_comment_block = 1
- cur_doc = FunctionDoc()
- in_description = 0
- in_return = 0
- line = fp.readline()
- continue
-
- # we are inside a comment block ...
- if comment_end_pat.match(line):
- if not cur_doc.name:
- sys.stderr.write("no function name found in doc comment\n")
- else:
- doc_dict[cur_doc.name] = cur_doc
- in_comment_block = 0
- line = fp.readline()
- continue
-
- # inside a comment block, and not the end of the block ...
- line = comment_line_lead.sub('', line)
- if not line: line = '\n'
-
- if not cur_doc.name:
- match = funcname_pat.match(line)
- if match:
- cur_doc.set_name(match.group(1))
- elif in_return:
- match = return_pat.match(line)
- if match:
- # assume the last return statement was really part of the
- # description
- cur_doc.description = cur_doc.description + return_start + \
- cur_doc.ret
- return_start = match.group(1)
- cur_doc.ret = match.group(2)
- else:
- cur_doc.append_return(line)
- elif in_description:
- if line[:12] == 'Description:':
- line = line[12:]
- match = return_pat.match(line)
- if match:
- in_return = 1
- return_start = match.group(1)
- cur_doc.append_return(match.group(2))
- else:
- cur_doc.append_description(line)
- elif line == '\n':
- # end of parameters
- in_description = 1
- else:
- match = param_pat.match(line)
- if match:
- param = match.group(1)
- desc = match.group(2)
+ if not in_comment_block:
+ if comment_start_pat.match(line):
+ in_comment_block = 1
+ cur_doc = FunctionDoc()
+ in_description = 0
+ in_return = 0
+ line = fp.readline()
+ continue
+
+ # we are inside a comment block ...
+ if comment_end_pat.match(line):
+ if not cur_doc.name:
+ sys.stderr.write("no function name found in doc comment\n")
+ else:
+ doc_dict[cur_doc.name] = cur_doc
+ in_comment_block = 0
+ line = fp.readline()
+ continue
+
+ # inside a comment block, and not the end of the block ...
+ line = comment_line_lead.sub('', line)
+ if not line: line = '\n'
+
+ if not cur_doc.name:
+ match = funcname_pat.match(line)
+ if match:
+ cur_doc.set_name(match.group(1))
+ elif in_return:
+ match = return_pat.match(line)
+ if match:
+ # assume the last return statement was really part of the
+ # description
+ cur_doc.description = cur_doc.description + return_start + \
+ cur_doc.ret
+ return_start = match.group(1)
+ cur_doc.ret = match.group(2)
+ else:
+ cur_doc.append_return(line)
+ elif in_description:
+ if line[:12] == 'Description:':
+ line = line[12:]
+ match = return_pat.match(line)
+ if match:
+ in_return = 1
+ return_start = match.group(1)
+ cur_doc.append_return(match.group(2))
+ else:
+ cur_doc.append_description(line)
+ elif line == '\n':
+ # end of parameters
+ in_description = 1
+ else:
+ match = param_pat.match(line)
+ if match:
+ param = match.group(1)
+ desc = match.group(2)
if param == 'returns':
cur_doc.ret = desc
else:
cur_doc.add_param(param, desc)
- else:
- # must be continuation
- try:
+ else:
+ # must be continuation
+ try:
if param == 'returns':
cur_doc.append_return(line)
else:
cur_doc.append_to_last_param(line)
- except:
- sys.stderr.write('something weird while reading param\n')
- line = fp.readline()
+ except:
+ sys.stderr.write('something weird while reading param\n')
+ line = fp.readline()
def parse_dir(dir, doc_dict):
for file in os.listdir(dir):
- if file in ('.', '..'): continue
- path = os.path.join(dir, file)
- if os.path.isdir(path):
- parse_dir(path, doc_dict)
- if len(file) > 2 and file[-2:] == '.c':
- parse_file(open(path, 'r'), doc_dict)
+ if file in ('.', '..'): continue
+ path = os.path.join(dir, file)
+ if os.path.isdir(path):
+ parse_dir(path, doc_dict)
+ if len(file) > 2 and file[-2:] == '.c':
+ parse_file(open(path, 'r'), doc_dict)
def extract(dirs, doc_dict=None):
if not doc_dict: doc_dict = {}
for dir in dirs:
- parse_dir(dir, doc_dict)
+ parse_dir(dir, doc_dict)
return doc_dict
tmpl_section_pat = re.compile(r'^<!-- ##### (\w+) (\w+) ##### -->$')
diff --git a/codegen/docextract_to_xml.py b/codegen/docextract_to_xml.py
index 38d6722b..219f2d72 100755
--- a/codegen/docextract_to_xml.py
+++ b/codegen/docextract_to_xml.py
@@ -21,7 +21,7 @@ def escape_text(unescaped_text):
#Apparently this is an undefined symbol:
escaped_text = string.replace(escaped_text, '&mdash;', ' mdash ')
-
+
return escaped_text
if __name__ == '__main__':
@@ -30,27 +30,27 @@ if __name__ == '__main__':
["source-dir="])
except getopt.error, e:
sys.stderr.write('docgen.py: %s\n' % e)
- sys.stderr.write(
- 'usage: docgen.py [-s /src/dir]\n')
+ sys.stderr.write(
+ 'usage: docgen.py [-s /src/dir]\n')
sys.exit(1)
source_dirs = []
for opt, arg in opts:
- if opt in ('-s', '--source-dir'):
- source_dirs.append(arg)
+ if opt in ('-s', '--source-dir'):
+ source_dirs.append(arg)
if len(args) != 0:
- sys.stderr.write(
- 'usage: docgen.py [-s /src/dir]\n')
+ sys.stderr.write(
+ 'usage: docgen.py [-s /src/dir]\n')
sys.exit(1)
docs = docextract.extract(source_dirs);
docextract.extract_tmpl(source_dirs, docs); #Try the tmpl sgml files too.
# print d.docs
-
+
if docs:
print "<root>"
-
+
for name, value in docs.items():
print "<function name=\"" + escape_text(name) + "\">"
@@ -65,14 +65,12 @@ if __name__ == '__main__':
print "<parameter name=\"" + escape_text(name) + "\">"
print "<parameter_description>" + escape_text(description) + "</parameter_description>"
print "</parameter>"
-
+
print "</parameters>"
# Show the return-type:
print "<return>" + escape_text(value.ret) + "</return>"
-
+
print "</function>\n"
print "</root>"
-
-
diff --git a/codegen/docgen.py b/codegen/docgen.py
index 7a563089..57eb7fcb 100644
--- a/codegen/docgen.py
+++ b/codegen/docgen.py
@@ -68,7 +68,7 @@ def build_object_tree(parser):
class DocWriter:
def __init__(self):
- # parse the defs file
+ # parse the defs file
self.parser = defsparser.DefsParser(())
self.overrides = override.Overrides()
self.classmap = {}
@@ -114,12 +114,12 @@ class DocWriter:
self.write_full_hierarchy(hierarchy, fp)
fp.close()
- obj_defs = self.parser.objects + self.parser.interfaces + \
+ obj_defs = self.parser.objects + self.parser.interfaces + \
self.parser.boxes + self.parser.pointers
- obj_defs.sort(self.__compare)
- for obj_def in obj_defs:
+ obj_defs.sort(self.__compare)
+ for obj_def in obj_defs:
filename = self.create_filename(obj_def.c_name, output_prefix)
- fp = open(filename, 'w')
+ fp = open(filename, 'w')
if isinstance(obj_def, definitions.ObjectDef):
self.output_object_docs(obj_def, fp)
elif isinstance(obj_def, definitions.InterfaceDef):
@@ -128,24 +128,24 @@ class DocWriter:
self.output_boxed_docs(obj_def, fp)
elif isinstance(obj_def, definitions.PointerDef):
self.output_boxed_docs(obj_def, fp)
- fp.close()
+ fp.close()
files.append((os.path.basename(filename), obj_def))
if files:
filename = self.create_toc_filename(output_prefix)
- fp = open(filename, 'w')
+ fp = open(filename, 'w')
self.output_toc(files, fp)
fp.close()
-
+
def output_object_docs(self, obj_def, fp=sys.stdout):
- self.write_class_header(obj_def.c_name, fp)
+ self.write_class_header(obj_def.c_name, fp)
self.write_heading('Synopsis', fp)
self.write_synopsis(obj_def, fp)
self.close_section(fp)
- # construct the inheritence hierarchy ...
- ancestry = [ (obj_def.c_name, obj_def.implements) ]
+ # construct the inheritence hierarchy ...
+ ancestry = [ (obj_def.c_name, obj_def.implements) ]
try:
parent = obj_def.parent
while parent != None:
@@ -183,7 +183,7 @@ class DocWriter:
self.write_class_footer(obj_def.c_name, fp)
def output_interface_docs(self, int_def, fp=sys.stdout):
- self.write_class_header(int_def.c_name, fp)
+ self.write_class_header(int_def.c_name, fp)
self.write_heading('Synopsis', fp)
self.write_synopsis(int_def, fp)
@@ -201,7 +201,7 @@ class DocWriter:
self.write_class_footer(int_def.c_name, fp)
def output_boxed_docs(self, box_def, fp=sys.stdout):
- self.write_class_header(box_def.c_name, fp)
+ self.write_class_header(box_def.c_name, fp)
self.write_heading('Synopsis', fp)
self.write_synopsis(box_def, fp)
@@ -233,8 +233,8 @@ class DocWriter:
# override the following to create a more complex output format
def create_filename(self, obj_name, output_prefix):
- '''Create output filename for this particular object'''
- return output_prefix + '-' + string.lower(obj_name) + '.txt'
+ '''Create output filename for this particular object'''
+ return output_prefix + '-' + string.lower(obj_name) + '.txt'
def create_toc_filename(self, output_prefix):
return self.create_filename(self, 'docs', output_prefix)
@@ -267,8 +267,8 @@ class DocWriter:
')'
def write_class_header(self, obj_name, fp):
- fp.write('Class %s\n' % obj_name)
- fp.write('======%s\n\n' % ('=' * len(obj_name)))
+ fp.write('Class %s\n' % obj_name)
+ fp.write('======%s\n\n' % ('=' * len(obj_name)))
def write_class_footer(self, obj_name, fp):
pass
def write_heading(self, text, fp):
@@ -350,9 +350,9 @@ class DocbookDocWriter(DocWriter):
def __init__(self, use_xml=0):
DocWriter.__init__(self)
self.use_xml = use_xml
-
+
def create_filename(self, obj_name, output_prefix):
- '''Create output filename for this particular object'''
+ '''Create output filename for this particular object'''
stem = output_prefix + '-' + string.lower(obj_name)
if self.use_xml:
return stem + '.xml'
@@ -427,7 +427,7 @@ class DocbookDocWriter(DocWriter):
'</classname></link>'
# fall through through
return '<literal>' + match.group(1) + '</literal>'
-
+
def reformat_text(self, text, singleline=0):
# replace special strings ...
text = self.__function_pat.sub(self.__format_function, text)
@@ -437,7 +437,7 @@ class DocbookDocWriter(DocWriter):
# don't bother with <para> expansion for single line text.
if singleline: return text
-
+
lines = string.split(string.strip(text), '\n')
for index in range(len(lines)):
if string.strip(lines[index]) == '':
@@ -536,7 +536,7 @@ class DocbookDocWriter(DocWriter):
sgml.append(' <methodparam></methodparam>')
sgml.append(' </methodsynopsis>')
return string.join(sgml, '')
-
+
def write_class_header(self, obj_name, fp):
if self.use_xml:
fp.write('<?xml version="1.0" standalone="no"?>\n')
@@ -678,7 +678,7 @@ class DocbookDocWriter(DocWriter):
# fp.write('&' + string.translate(obj_def.c_name,
# self.__transtable) + ';\n')
#fp.write('</reference>\n')
-
+
fp.write('<reference id="class-reference" xmlns:xi="http://www.w3.org/2001/XInclude">\n')
fp.write(' <title>Class Reference</title>\n')
for filename, obj_def in files:
@@ -724,25 +724,25 @@ if __name__ == '__main__':
"output-prefix="])
except getopt.error, e:
sys.stderr.write('docgen.py: %s\n' % e)
- sys.stderr.write(
- 'usage: docgen.py -d file.defs [-s /src/dir] [-o output-prefix]\n')
+ sys.stderr.write(
+ 'usage: docgen.py -d file.defs [-s /src/dir] [-o output-prefix]\n')
sys.exit(1)
defs_file = None
overrides_file = None
source_dirs = []
output_prefix = 'docs'
for opt, arg in opts:
- if opt in ('-d', '--defs-file'):
- defs_file = arg
+ if opt in ('-d', '--defs-file'):
+ defs_file = arg
if opt in ('--override',):
overrides_file = arg
- elif opt in ('-s', '--source-dir'):
- source_dirs.append(arg)
- elif opt in ('-o', '--output-prefix'):
- output_prefix = arg
+ elif opt in ('-s', '--source-dir'):
+ source_dirs.append(arg)
+ elif opt in ('-o', '--output-prefix'):
+ output_prefix = arg
if len(args) != 0 or not defs_file:
- sys.stderr.write(
- 'usage: docgen.py -d file.defs [-s /src/dir] [-o output-prefix]\n')
+ sys.stderr.write(
+ 'usage: docgen.py -d file.defs [-s /src/dir] [-o output-prefix]\n')
sys.exit(1)
d = DocbookDocWriter()
diff --git a/codegen/h2def.py b/codegen/h2def.py
index f7c843dc..5acae772 100755
--- a/codegen/h2def.py
+++ b/codegen/h2def.py
@@ -195,7 +195,7 @@ def find_enum_defs(buf, enums=[]):
buf = strip_comments(buf)
buf = re.sub('\n', ' ', buf)
-
+
enum_pat = re.compile(r'enum\s*{([^}]*)}\s*([A-Z][A-Za-z]*)(\s|;)')
splitter = re.compile(r'\s*,\s', re.MULTILINE)
pos = 0
@@ -212,7 +212,7 @@ def find_enum_defs(buf, enums=[]):
entries.append(string.split(val)[0])
if name != 'GdkCursorType':
enums.append((name, isflags, entries))
-
+
pos = m.end()
def write_enum_defs(enums, output=None):
@@ -266,31 +266,31 @@ def clean_func(buf):
buf = strip_comments(buf)
# compact continued lines
- pat = re.compile(r"""\\\n""", re.MULTILINE)
+ pat = re.compile(r"""\\\n""", re.MULTILINE)
buf=pat.sub('',buf)
# Preprocess directives
- pat = re.compile(r"""^[#].*?$""", re.MULTILINE)
+ pat = re.compile(r"""^[#].*?$""", re.MULTILINE)
buf=pat.sub('',buf)
#typedefs, stucts, and enums
- pat = re.compile(r"""^(typedef|struct|enum)(\s|.|\n)*?;\s*""", re.MULTILINE)
+ pat = re.compile(r"""^(typedef|struct|enum)(\s|.|\n)*?;\s*""", re.MULTILINE)
buf=pat.sub('',buf)
#strip DECLS macros
- pat = re.compile(r"""G_BEGIN_DECLS|BEGIN_LIBGTOP_DECLS""", re.MULTILINE)
+ pat = re.compile(r"""G_BEGIN_DECLS|BEGIN_LIBGTOP_DECLS""", re.MULTILINE)
buf=pat.sub('',buf)
#extern "C"
- pat = re.compile(r"""^\s*(extern)\s+\"C\"\s+{""", re.MULTILINE)
+ pat = re.compile(r"""^\s*(extern)\s+\"C\"\s+{""", re.MULTILINE)
buf=pat.sub('',buf)
#multiple whitespace
- pat = re.compile(r"""\s+""", re.MULTILINE)
+ pat = re.compile(r"""\s+""", re.MULTILINE)
buf=pat.sub(' ',buf)
#clean up line ends
- pat = re.compile(r""";\s*""", re.MULTILINE)
+ pat = re.compile(r""";\s*""", re.MULTILINE)
buf=pat.sub('\n',buf)
buf = buf.lstrip()
@@ -336,7 +336,7 @@ def define_func(buf,fp, prefix):
spaces = string.count(args[i], ' ')
if spaces > 1:
args[i] = string.replace(args[i], ' ', '-', spaces - 1)
-
+
write_func(fp, func, ret, args, prefix)
get_type_pat = re.compile(r'(const-)?([A-Za-z0-9]+)\*?\s+')
@@ -400,10 +400,10 @@ def write_func(fp, name, ret, args, prefix):
m = func_new_pat.match(name)
if pointer_pat.match(ret) and m:
cname = ''
- for s in m.group(1).split ('_'):
- cname += s.title()
- if cname != '':
- fp.write(' (is-constructor-of "' + cname + '")\n')
+ for s in m.group(1).split ('_'):
+ cname += s.title()
+ if cname != '':
+ fp.write(' (is-constructor-of "' + cname + '")\n')
if ret != 'void':
fp.write(' (return-type "' + ret + '")\n')
@@ -469,7 +469,7 @@ def main(args):
separate = v
if o in ('-m', '--modulename'):
modulename = v
-
+
if not args[0:1]:
print 'Must specify at least one input file name'
return -1
@@ -486,12 +486,12 @@ def main(args):
if separate:
types = file(separate + '-types.defs', 'w')
methods = file(separate + '.defs', 'w')
-
+
write_obj_defs(objdefs,types)
write_enum_defs(enums,types)
types.close()
print "Wrote %s-types.defs" % separate
-
+
for filename in args:
write_def(filename,methods,prefix=modulename)
methods.close()
@@ -507,6 +507,6 @@ def main(args):
for filename in args:
write_def(filename,None,prefix=modulename)
-
+
if __name__ == '__main__':
sys.exit(main(sys.argv))
diff --git a/codegen/mkskel.py b/codegen/mkskel.py
index 2a1e1c35..61f520bf 100755
--- a/codegen/mkskel.py
+++ b/codegen/mkskel.py
@@ -52,11 +52,11 @@ override_template = \
def open_with_backup(file):
if os.path.exists(file):
- try:
- os.rename(file, file+'~')
- except OSError:
- # fail silently if we can't make a backup
- pass
+ try:
+ os.rename(file, file+'~')
+ except OSError:
+ # fail silently if we can't make a backup
+ pass
return open(file, 'w')
def write_skels(fileprefix, prefix, module):
@@ -69,21 +69,21 @@ def write_skels(fileprefix, prefix, module):
if __name__ == '__main__':
opts, args = getopt.getopt(sys.argv[1:], 'f:p:m:h',
- ['file-prefix=', 'prefix=', 'module=', 'help'])
+ ['file-prefix=', 'prefix=', 'module=', 'help'])
fileprefix = None
prefix = None
module = None
for opt, arg in opts:
- if opt in ('-f', '--file-prefix'):
- fileprefix = arg
- elif opt in ('-p', '--prefix'):
- prefix = arg
- elif opt in ('-m', '--module'):
- module = arg
- elif opt in ('-h', '--help'):
- print 'usage: mkskel.py -f fileprefix -p prefix -m module'
- sys.exit(0)
+ if opt in ('-f', '--file-prefix'):
+ fileprefix = arg
+ elif opt in ('-p', '--prefix'):
+ prefix = arg
+ elif opt in ('-m', '--module'):
+ module = arg
+ elif opt in ('-h', '--help'):
+ print 'usage: mkskel.py -f fileprefix -p prefix -m module'
+ sys.exit(0)
if not fileprefix or not prefix or not module:
- print 'usage: mkskel.py -f fileprefix -p prefix -m module'
- sys.exit(1)
+ print 'usage: mkskel.py -f fileprefix -p prefix -m module'
+ sys.exit(1)
write_skels(fileprefix, prefix, module)
diff --git a/codegen/override.py b/codegen/override.py
index 0e916b71..dda70338 100644
--- a/codegen/override.py
+++ b/codegen/override.py
@@ -18,20 +18,20 @@ def class2cname(klass, method):
else:
c_name += c
return c_name[1:] + '_' + method
-
+
import_pat = re.compile(r'\s*import\s+(\S+)\.([^\s.]+)\s+as\s+(\S+)')
class Overrides:
def __init__(self, filename=None):
self.modulename = None
- self.ignores = {}
- self.glob_ignores = []
- self.overrides = {}
+ self.ignores = {}
+ self.glob_ignores = []
+ self.overrides = {}
self.overridden = {}
- self.kwargs = {}
+ self.kwargs = {}
self.noargs = {}
self.onearg = {}
- self.staticmethod = {}
+ self.staticmethod = {}
self.classmethod = {}
self.startlines = {}
self.override_attrs = {}
@@ -43,19 +43,19 @@ class Overrides:
self.defines = {}
self.functions = {}
self.newstyle_constructors = {}
- if filename:
+ if filename:
self.handle_file(filename)
def handle_file(self, filename):
oldpath = os.getcwd()
-
+
fp = open(filename, 'r')
dirname = os.path.dirname(os.path.abspath(filename))
if dirname != oldpath:
os.chdir(dirname)
-
- # read all the components of the file ...
+
+ # read all the components of the file ...
bufs = []
startline = 1
lines = []
@@ -73,53 +73,53 @@ class Overrides:
linenum = linenum + 1
if lines:
bufs.append((string.join(lines, ''), startline))
- if not bufs: return
+ if not bufs: return
- for buf, startline in bufs:
- self.__parse_override(buf, startline, filename)
+ for buf, startline in bufs:
+ self.__parse_override(buf, startline, filename)
os.chdir(oldpath)
-
+
def __parse_override(self, buffer, startline, filename):
- pos = string.find(buffer, '\n')
- if pos >= 0:
- line = buffer[:pos]
- rest = buffer[pos+1:]
- else:
- line = buffer ; rest = ''
- words = string.split(line)
+ pos = string.find(buffer, '\n')
+ if pos >= 0:
+ line = buffer[:pos]
+ rest = buffer[pos+1:]
+ else:
+ line = buffer ; rest = ''
+ words = string.split(line)
command = words[0]
- if (command == 'ignore' or
+ if (command == 'ignore' or
command == 'ignore-' + sys.platform):
"ignore/ignore-platform [functions..]"
- for func in words[1:]:
+ for func in words[1:]:
self.ignores[func] = 1
- for func in string.split(rest):
+ for func in string.split(rest):
self.ignores[func] = 1
- elif (command == 'ignore-glob' or
+ elif (command == 'ignore-glob' or
command == 'ignore-glob-' + sys.platform):
- "ignore-glob/ignore-glob-platform [globs..]"
- for func in words[1:]:
+ "ignore-glob/ignore-glob-platform [globs..]"
+ for func in words[1:]:
self.glob_ignores.append(func)
- for func in string.split(rest):
- self.glob_ignores.append(func)
- elif command == 'override':
+ for func in string.split(rest):
+ self.glob_ignores.append(func)
+ elif command == 'override':
"override function/method [kwargs|noargs|onearg] [staticmethod|classmethod]"
- func = words[1]
- if 'kwargs' in words[1:]:
- self.kwargs[func] = 1
+ func = words[1]
+ if 'kwargs' in words[1:]:
+ self.kwargs[func] = 1
elif 'noargs' in words[1:]:
- self.noargs[func] = 1
+ self.noargs[func] = 1
elif 'onearg' in words[1:]:
- self.onearg[func] = True
+ self.onearg[func] = True
if 'staticmethod' in words[1:]:
- self.staticmethod[func] = True
+ self.staticmethod[func] = True
elif 'classmethod' in words[1:]:
- self.classmethod[func] = True
+ self.classmethod[func] = True
if func in self.overrides:
raise RuntimeError("Function %s is being overridden more than once" % (func,))
- self.overrides[func] = rest
+ self.overrides[func] = rest
self.startlines[func] = (startline + 1, filename)
elif command == 'override-attr':
"override-slot Class.attr"
@@ -148,9 +148,9 @@ class Overrides:
self.modulename = words[1]
elif command == 'include':
"include filename"
- for filename in words[1:]:
+ for filename in words[1:]:
self.handle_file(filename)
- for filename in string.split(rest):
+ for filename in string.split(rest):
self.handle_file(filename)
elif command == 'import':
"import module1 [\n module2, \n module3 ...]"
@@ -161,7 +161,7 @@ class Overrides:
elif command == 'define':
"define funcname [kwargs|noargs|onearg] [classmethod|staticmethod]"
"define Class.method [kwargs|noargs|onearg] [classmethod|staticmethod]"
- func = words[1]
+ func = words[1]
klass = None
if func.find('.') != -1:
klass, func = func.split('.', 1)
@@ -172,17 +172,17 @@ class Overrides:
else:
self.functions[func] = rest
- if 'kwargs' in words[1:]:
- self.kwargs[func] = 1
+ if 'kwargs' in words[1:]:
+ self.kwargs[func] = 1
elif 'noargs' in words[1:]:
- self.noargs[func] = 1
+ self.noargs[func] = 1
elif 'onearg' in words[1:]:
- self.onearg[func] = 1
+ self.onearg[func] = 1
if 'staticmethod' in words[1:]:
- self.staticmethod[func] = True
+ self.staticmethod[func] = True
elif 'classmethod' in words[1:]:
- self.classmethod[func] = True
+ self.classmethod[func] = True
self.startlines[func] = (startline + 1, filename)
@@ -190,21 +190,21 @@ class Overrides:
"new-constructor GType"
gtype, = words[1:]
self.newstyle_constructors[gtype] = True
-
+
def is_ignored(self, name):
- if self.ignores.has_key(name):
- return 1
- for glob in self.glob_ignores:
- if fnmatch.fnmatchcase(name, glob):
- return 1
- return 0
-
+ if self.ignores.has_key(name):
+ return 1
+ for glob in self.glob_ignores:
+ if fnmatch.fnmatchcase(name, glob):
+ return 1
+ return 0
+
def is_overriden(self, name):
- return self.overrides.has_key(name)
-
+ return self.overrides.has_key(name)
+
def is_already_included(self, name):
return self.overridden.has_key(name)
-
+
def override(self, name):
self.overridden[name] = 1
return self.overrides[name]
@@ -215,51 +215,51 @@ class Overrides:
def function(self, name):
return self.functions[name]
-
+
def getstartline(self, name):
return self.startlines[name]
def wants_kwargs(self, name):
- return self.kwargs.has_key(name)
-
+ return self.kwargs.has_key(name)
+
def wants_noargs(self, name):
- return self.noargs.has_key(name)
+ return self.noargs.has_key(name)
def wants_onearg(self, name):
- return self.onearg.has_key(name)
+ return self.onearg.has_key(name)
def is_staticmethod(self, name):
- return self.staticmethod.has_key(name)
+ return self.staticmethod.has_key(name)
def is_classmethod(self, name):
- return self.classmethod.has_key(name)
+ return self.classmethod.has_key(name)
def attr_is_overriden(self, attr):
return self.override_attrs.has_key(attr)
-
+
def attr_override(self, attr):
return self.override_attrs[attr]
-
+
def slot_is_overriden(self, slot):
return self.override_slots.has_key(slot)
-
+
def slot_override(self, slot):
return self.override_slots[slot]
-
+
def get_headers(self):
return self.headers
def get_body(self):
return self.body
-
+
def get_init(self):
return self.init
-
+
def get_imports(self):
return self.imports
def get_defines_for(self, klass):
return self.defines.get(klass, {})
-
+
def get_functions(self):
return self.functions
diff --git a/codegen/reversewrapper.py b/codegen/reversewrapper.py
index 4dd4dfa7..412ac67f 100644
--- a/codegen/reversewrapper.py
+++ b/codegen/reversewrapper.py
@@ -27,10 +27,10 @@ class CodeSink(object):
if l[-1]:
l.append('')
return '\n'.join(l)
-
+
def writeln(self, line=''):
raise NotImplementedError
-
+
def indent(self, level=4):
'''Add a certain ammount of indentation to all lines written
from now on and until unindent() is called'''
@@ -78,10 +78,10 @@ class ReverseWrapper(object):
assert isinstance(cname, str)
self.cname = cname
- ## function object we will call, or object whose method we will call
+ ## function object we will call, or object whose method we will call
self.called_pyobj = None
## name of method of self.called_pyobj we will call
- self.method_name = None
+ self.method_name = None
self.is_static = is_static
self.parameters = []
@@ -314,7 +314,7 @@ class ReverseWrapper(object):
self.post_return_code.writeln("/* end post-return code */")
self.post_return_code.flush_to(sink)
sink.writeln()
-
+
for cleanup_action in self.cleanup_actions:
sink.writeln(cleanup_action)
if self.return_type.get_c_type() != 'void':
diff --git a/examples/glade/autoconnect.py b/examples/glade/autoconnect.py
index 561f47eb..72b1f2a2 100644
--- a/examples/glade/autoconnect.py
+++ b/examples/glade/autoconnect.py
@@ -15,6 +15,6 @@ class SimpleTest:
def on_button1_clicked(self, button):
print 'foo!'
-
+
test = SimpleTest()
gtk.main()
diff --git a/examples/gobject/editable-interface.py b/examples/gobject/editable-interface.py
index d7c78126..70ba1dc2 100644
--- a/examples/gobject/editable-interface.py
+++ b/examples/gobject/editable-interface.py
@@ -28,4 +28,3 @@ if __name__ == '__main__':
w.connect("destroy", lambda w: gtk.main_quit())
w.show_all()
gtk.main()
-
diff --git a/examples/gobject/signal.py b/examples/gobject/signal.py
index 3ac4235a..26ddae93 100644
--- a/examples/gobject/signal.py
+++ b/examples/gobject/signal.py
@@ -9,16 +9,16 @@ class C(gobject.GObject):
def __init__(self):
self.__gobject_init__() # default constructor using our new GType
def do_my_signal(self, arg):
- print "C: class closure for `my_signal' called with argument", arg
+ print "C: class closure for `my_signal' called with argument", arg
class D(C):
def do_my_signal(self, arg):
- print "D: class closure for `my_signal' called. Chaining up to C"
- C.do_my_signal(self, arg)
+ print "D: class closure for `my_signal' called. Chaining up to C"
+ C.do_my_signal(self, arg)
def my_signal_handler(object, arg, *extra):
print "handler for `my_signal' called with argument", arg, \
- "and extra args", extra
+ "and extra args", extra
inst = C()
inst2 = D()
diff --git a/examples/gtk/bin.py b/examples/gtk/bin.py
index fefba65f..273c3ab0 100644
--- a/examples/gtk/bin.py
+++ b/examples/gtk/bin.py
@@ -7,11 +7,11 @@ class Bin(gtk.Container):
def __init__(self):
gtk.Container.__init__(self)
self.child = None
-
+
def do_add(self, child):
child.set_parent(self)
self.child = child
-
+
def do_remove(self, child):
widget_was_visible = child.flags() & gtk.VISIBLE
child.unparent()
@@ -19,11 +19,11 @@ class Bin(gtk.Container):
if widget_was_visible:
self.queue_resize()
-
+
def do_forall(self, internal, callback, data):
if self.child:
callback(self.child, data)
-
+
label = gtk.Label()
c = Bin()
c.add(label)
diff --git a/examples/gtk/filechooser.py b/examples/gtk/filechooser.py
index 283a4957..613b4e19 100644
--- a/examples/gtk/filechooser.py
+++ b/examples/gtk/filechooser.py
@@ -33,4 +33,3 @@ if response == gtk.RESPONSE_OK:
elif response == gtk.RESPONSE_CANCEL:
print 'Closed, no files selected'
dialog.destroy()
-
diff --git a/examples/gtk/scrollable.py b/examples/gtk/scrollable.py
index 18f7a3db..317f04b2 100644
--- a/examples/gtk/scrollable.py
+++ b/examples/gtk/scrollable.py
@@ -100,7 +100,7 @@ class Layout(gtk.Container):
wclass=gdk.INPUT_OUTPUT,
colormap=self.get_colormap(),
event_mask=gdk.VISIBILITY_NOTIFY_MASK)
- self.window.set_user_data(self)
+ self.window.set_user_data(self)
self._bin_window = gdk.Window(
self.window,
@@ -113,7 +113,7 @@ class Layout(gtk.Container):
wclass=gdk.INPUT_OUTPUT,
event_mask=(self.get_events() | gdk.EXPOSURE_MASK |
gdk.SCROLL_MASK))
- self._bin_window.set_user_data(self)
+ self._bin_window.set_user_data(self)
self.set_style(self.style.attach(self.window))
self.style.set_background(self.window, gtk.STATE_NORMAL)
@@ -124,7 +124,7 @@ class Layout(gtk.Container):
self.queue_resize()
def do_unrealize(self):
- self._bin_window.set_user_data(None)
+ self._bin_window.set_user_data(None)
self._bin_window.destroy()
self._bin_window = None
gtk.Container.do_unrealize(self)
diff --git a/examples/gtk/sizegroup.py b/examples/gtk/sizegroup.py
index c2fd7aef..a88308d3 100644
--- a/examples/gtk/sizegroup.py
+++ b/examples/gtk/sizegroup.py
@@ -40,7 +40,7 @@ def main():
hbox, label = create_label('Address:')
sg.add_widget(label)
vbox.pack_start(hbox)
-
+
win.show_all()
gtk.main()
diff --git a/examples/gtk/uimanager.py b/examples/gtk/uimanager.py
index b180fa80..7f731524 100644
--- a/examples/gtk/uimanager.py
+++ b/examples/gtk/uimanager.py
@@ -51,10 +51,10 @@ class Window(gtk.Window):
textview = gtk.TextView()
self.buffer = textview.get_buffer()
sw.add(textview)
-
+
status = gtk.Statusbar()
vbox.pack_end(status, expand=False)
-
+
def create_ui(self):
ag = gtk.ActionGroup('WindowActions')
actions = [
@@ -81,7 +81,7 @@ class Window(gtk.Window):
w = Window()
w.show_all()
gtk.main()
-
+
def file_open_cb(self, action):
dialog = gtk.FileChooserDialog("Open..", self,
gtk.FILE_CHOOSER_ACTION_OPEN,
@@ -101,7 +101,7 @@ class Window(gtk.Window):
self.buffer.set_text(file(filename).read())
dialog.destroy()
-
+
def file_close_cb(self, action):
self.hide()
gtk.main_quit()
diff --git a/examples/ide/edit.py b/examples/ide/edit.py
index 49156b1f..83a25c6d 100644
--- a/examples/ide/edit.py
+++ b/examples/ide/edit.py
@@ -231,12 +231,12 @@ class EditWindow(gtk.Window):
self.buffer.select_range(match_start, match_end)
self.text.scroll_to_iter(match_start, 0.0)
self.last_search_iter = match_end
-
+
else:
self.search_string = None
self.last_search_iter = None
-
- def edit_find(self, mi):
+
+ def edit_find(self, mi):
def dialog_response_callback(dialog, response_id):
if response_id == gtk.RESPONSE_CLOSE:
dialog.destroy()
@@ -257,7 +257,7 @@ class EditWindow(gtk.Window):
dialog.show_all()
response_id = dialog.run()
def edit_find_next(self, mi):
- self._search(self.search_string, self.last_search_iter)
+ self._search(self.search_string, self.last_search_iter)
def help_about(self, mi):
dlg = gtk.MessageDialog(self, gtk.DIALOG_DESTROY_WITH_PARENT,
gtk.MESSAGE_INFO, gtk.BUTTONS_OK,
diff --git a/examples/ide/gtkdb.py b/examples/ide/gtkdb.py
index 2490d987..cb33d150 100755
--- a/examples/ide/gtkdb.py
+++ b/examples/ide/gtkdb.py
@@ -94,7 +94,7 @@ class PyGTKDb(gtk.Window, bdb.Bdb):
selection = self.stackdisp.get_selection()
selection.set_mode(gtk.SELECTION_BROWSE)
selection.connect("changed", self.update_curstack)
-
+
self.stackdisp.set_border_width(2)
swin.add(self.stackdisp)
self.stackdisp.show()
diff --git a/examples/ide/gtkprof.py b/examples/ide/gtkprof.py
index e73e6f9e..649456f0 100755
--- a/examples/ide/gtkprof.py
+++ b/examples/ide/gtkprof.py
@@ -131,5 +131,3 @@ if __name__ == '__main__':
sys.path.insert(0, os.path.dirname(filename))
run_file(filename)
-
-
diff --git a/examples/pango/pangocairo-simple.py b/examples/pango/pangocairo-simple.py
index 61e05ec7..8cf6d46f 100644
--- a/examples/pango/pangocairo-simple.py
+++ b/examples/pango/pangocairo-simple.py
@@ -16,28 +16,28 @@ def draw_text(cr):
# Create a PangoLayout, set the font and text */
layout = cr.create_layout()
-
+
layout.set_text("Text")
layout.set_font_description(pango.FontDescription(FONT))
# Draw the layout N_WORDS times in a circle
for i in range(N_WORDS):
- angle = (360 * i) / N_WORDS;
- cr.save()
-
- # Gradient from red at angle == 60 to blue at angle == 300
- red = (1 + math.cos((angle - 60)*math.pi/180))/2
- cr.set_source_rgb(red, 0, 1 - red)
- cr.rotate(angle*math.pi/180)
-
- # Inform Pango to re-layout the text with the new transformation */
- cr.update_layout(layout)
-
- width, height = layout.get_size()
- cr.move_to(-width/pango.SCALE/2, -RADIUS)
- cr.show_layout(layout)
-
- cr.restore()
+ angle = (360 * i) / N_WORDS;
+ cr.save()
+
+ # Gradient from red at angle == 60 to blue at angle == 300
+ red = (1 + math.cos((angle - 60)*math.pi/180))/2
+ cr.set_source_rgb(red, 0, 1 - red)
+ cr.rotate(angle*math.pi/180)
+
+ # Inform Pango to re-layout the text with the new transformation */
+ cr.update_layout(layout)
+
+ width, height = layout.get_size()
+ cr.move_to(-width/pango.SCALE/2, -RADIUS)
+ cr.show_layout(layout)
+
+ cr.restore()
def main(argv):
if len(argv) != 2:
@@ -60,7 +60,7 @@ def main(argv):
draw_text(cr)
cr.show_page()
surface.finish()
-
+
if __name__ == '__main__':
sys.exit(main(sys.argv))
diff --git a/examples/pango/utf8-demo.py b/examples/pango/utf8-demo.py
index 170c3063..f50c2806 100644
--- a/examples/pango/utf8-demo.py
+++ b/examples/pango/utf8-demo.py
@@ -4,7 +4,7 @@ import gobject, gtk
# string taken from pango examples directory and converted from utf8
# to python unicode string escapes
hellos = u'''\u03A0\u03B1\u03BD\u8A9E
-This is a list of ways to say hello in various languages.
+This is a list of ways to say hello in various languages.
The purpose of it is to illustrate a number of scripts.
(Converted into UTF-8)
@@ -66,4 +66,3 @@ l.show()
win.show()
gtk.main()
-
diff --git a/examples/pygtk-demo/demos/changedisplay.py b/examples/pygtk-demo/demos/changedisplay.py
index c3ce8bd5..e10fcee7 100644
--- a/examples/pygtk-demo/demos/changedisplay.py
+++ b/examples/pygtk-demo/demos/changedisplay.py
@@ -411,4 +411,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/pygtk-demo/demos/dnd.py b/examples/pygtk-demo/demos/dnd.py
index 316600b1..a96f403f 100644
--- a/examples/pygtk-demo/demos/dnd.py
+++ b/examples/pygtk-demo/demos/dnd.py
@@ -191,7 +191,7 @@ class DragAndDropDemo(gtk.Window):
if info == TARGET_ROOTWIN:
print 'I was dropped on the rootwin'
else:
- selection_data.set(selection_data.target, 8, "I'm Data!")
+ selection_data.set(selection_data.target, 8, "I'm Data!")
def source_drag_data_delete(self, btn, context, data):
print 'Delete the data!'
diff --git a/examples/pygtk-demo/demos/dndpixmap.py b/examples/pygtk-demo/demos/dndpixmap.py
index 8912365a..781b9798 100644
--- a/examples/pygtk-demo/demos/dndpixmap.py
+++ b/examples/pygtk-demo/demos/dndpixmap.py
@@ -1,14 +1,14 @@
drag_icon_xpm = [
"36 48 9 1",
-" c None",
-". c #020204",
-"+ c #8F8F90",
-"@ c #D3D3D2",
-"# c #AEAEAC",
-"$ c #ECECEC",
-"% c #A2A2A4",
-"& c #FEFEFC",
-"* c #BEBEBC",
+" c None",
+". c #020204",
+"+ c #8F8F90",
+"@ c #D3D3D2",
+"# c #AEAEAC",
+"$ c #ECECEC",
+"% c #A2A2A4",
+"& c #FEFEFC",
+"* c #BEBEBC",
" .....................",
" ..&&&&&&&&&&&&&&&&&&&.",
" ...&&&&&&&&&&&&&&&&&&&.",
@@ -60,23 +60,23 @@ drag_icon_xpm = [
trashcan_closed_xpm = [
"64 80 17 1",
-" c None",
-". c #030304",
-"+ c #5A5A5C",
-"@ c #323231",
-"# c #888888",
-"$ c #1E1E1F",
-"% c #767677",
-"& c #494949",
-"* c #9E9E9C",
-"= c #111111",
-"- c #3C3C3D",
-"; c #6B6B6B",
-"> c #949494",
-", c #282828",
-"' c #808080",
-") c #545454",
-"! c #AEAEAC",
+" c None",
+". c #030304",
+"+ c #5A5A5C",
+"@ c #323231",
+"# c #888888",
+"$ c #1E1E1F",
+"% c #767677",
+"& c #494949",
+"* c #9E9E9C",
+"= c #111111",
+"- c #3C3C3D",
+"; c #6B6B6B",
+"> c #949494",
+", c #282828",
+"' c #808080",
+") c #545454",
+"! c #AEAEAC",
" ",
" ",
" ",
@@ -160,23 +160,23 @@ trashcan_closed_xpm = [
trashcan_open_xpm = [
"64 80 17 1",
-" c None",
-". c #030304",
-"+ c #5A5A5C",
-"@ c #323231",
-"# c #888888",
-"$ c #1E1E1F",
-"% c #767677",
-"& c #494949",
-"* c #9E9E9C",
-"= c #111111",
-"- c #3C3C3D",
-"; c #6B6B6B",
-"> c #949494",
-", c #282828",
-"' c #808080",
-") c #545454",
-"! c #AEAEAC",
+" c None",
+". c #030304",
+"+ c #5A5A5C",
+"@ c #323231",
+"# c #888888",
+"$ c #1E1E1F",
+"% c #767677",
+"& c #494949",
+"* c #9E9E9C",
+"= c #111111",
+"- c #3C3C3D",
+"; c #6B6B6B",
+"> c #949494",
+", c #282828",
+"' c #808080",
+") c #545454",
+"! c #AEAEAC",
" ",
" ",
" ",
@@ -257,4 +257,3 @@ trashcan_open_xpm = [
" ",
" ",
" "]
-
diff --git a/examples/pygtk-demo/demos/entry_completion.py b/examples/pygtk-demo/demos/entry_completion.py
index 52e8568c..71e094e6 100644
--- a/examples/pygtk-demo/demos/entry_completion.py
+++ b/examples/pygtk-demo/demos/entry_completion.py
@@ -74,4 +74,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/pygtk-demo/demos/expander.py b/examples/pygtk-demo/demos/expander.py
index 37f6b5b7..bb02b950 100644
--- a/examples/pygtk-demo/demos/expander.py
+++ b/examples/pygtk-demo/demos/expander.py
@@ -45,4 +45,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/pygtk-demo/demos/hypertext.py b/examples/pygtk-demo/demos/hypertext.py
index d7386b3d..1a1df2cf 100644
--- a/examples/pygtk-demo/demos/hypertext.py
+++ b/examples/pygtk-demo/demos/hypertext.py
@@ -182,4 +182,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/pygtk-demo/demos/list_store.py b/examples/pygtk-demo/demos/list_store.py
index bac4130f..6273033d 100644
--- a/examples/pygtk-demo/demos/list_store.py
+++ b/examples/pygtk-demo/demos/list_store.py
@@ -139,4 +139,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/pygtk-demo/demos/textview.py b/examples/pygtk-demo/demos/textview.py
index 833d2302..b96940a7 100644
--- a/examples/pygtk-demo/demos/textview.py
+++ b/examples/pygtk-demo/demos/textview.py
@@ -151,12 +151,12 @@ class TextViewDemo(gtk.Window):
underline=pango.UNDERLINE_DOUBLE)
text_buffer.create_tag("superscript",
- rise=10 * pango.SCALE, # 10 pixels
- size=8 * pango.SCALE) # 8 points
+ rise=10 * pango.SCALE, # 10 pixels
+ size=8 * pango.SCALE) # 8 points
text_buffer.create_tag("subscript",
- rise=-10 * pango.SCALE, # 10 pixels
- size=8 * pango.SCALE) # 8 points
+ rise=-10 * pango.SCALE, # 10 pixels
+ size=8 * pango.SCALE) # 8 points
text_buffer.create_tag("rtl_quote",
wrap_mode=gtk.WRAP_WORD, direction=gtk.TEXT_DIR_RTL,
@@ -339,7 +339,7 @@ class TextViewDemo(gtk.Window):
"German(Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek"
"(\316\225\316\273\316\273\316\267\316\275\316\271\316\272"
"\316\254) \316\223\316\265\316\271\316\254 \317\203\316\261"
- "\317\202\nHebrew \327\251\327\234\327\225\327\235\n"
+ "\317\202\nHebrew \327\251\327\234\327\225\327\235\n"
"Japanese(\346\227\245\346\234\254\350\252\236)\n\nThe "
"widget properly handles bidirectional text, word wrapping, "
"DOS/UNIX/Unicode paragraph separators, grapheme boundaries, "
diff --git a/examples/pygtk-demo/demos/tree_store.py b/examples/pygtk-demo/demos/tree_store.py
index c7d0b709..fc53644d 100644
--- a/examples/pygtk-demo/demos/tree_store.py
+++ b/examples/pygtk-demo/demos/tree_store.py
@@ -332,4 +332,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/pygtk-demo/demos/treemodel.py b/examples/pygtk-demo/demos/treemodel.py
index cd3ab482..7fca9a08 100644
--- a/examples/pygtk-demo/demos/treemodel.py
+++ b/examples/pygtk-demo/demos/treemodel.py
@@ -118,4 +118,3 @@ def main():
if __name__ == '__main__':
main()
-
diff --git a/examples/simple/dnd.py b/examples/simple/dnd.py
index fb7950d0..cd217fb8 100644
--- a/examples/simple/dnd.py
+++ b/examples/simple/dnd.py
@@ -70,12 +70,12 @@ def source_drag_data_get(w, context, selection_data, info, time):
if info == TARGET_ROOTWIN:
print 'I was dropped on the rootwin'
else:
- selection_data.set(selection_data.target, 8, "I'm Data!")
+ selection_data.set(selection_data.target, 8, "I'm Data!")
def popdown_cb():
global popdown_timer, popped_up
global popup_win
- popdown_timer = 0
+ popdown_timer = 0
popup_win.hide()
popped_up = False
return False
@@ -108,7 +108,7 @@ def popup_cb():
i, j = divmod(k, 3)
b = gtk.Button("%d,%d" % (i,j))
table.attach(b, i,i+1,j,j+1)
- b.drag_dest_set(gtk.DEST_DEFAULT_ALL, target,
+ b.drag_dest_set(gtk.DEST_DEFAULT_ALL, target,
gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE)
b.connect('drag_motion', popup_motion)
b.connect('drag_leave', popup_leave)
diff --git a/examples/simple/dndpixmap.py b/examples/simple/dndpixmap.py
index 8912365a..781b9798 100644
--- a/examples/simple/dndpixmap.py
+++ b/examples/simple/dndpixmap.py
@@ -1,14 +1,14 @@
drag_icon_xpm = [
"36 48 9 1",
-" c None",
-". c #020204",
-"+ c #8F8F90",
-"@ c #D3D3D2",
-"# c #AEAEAC",
-"$ c #ECECEC",
-"% c #A2A2A4",
-"& c #FEFEFC",
-"* c #BEBEBC",
+" c None",
+". c #020204",
+"+ c #8F8F90",
+"@ c #D3D3D2",
+"# c #AEAEAC",
+"$ c #ECECEC",
+"% c #A2A2A4",
+"& c #FEFEFC",
+"* c #BEBEBC",
" .....................",
" ..&&&&&&&&&&&&&&&&&&&.",
" ...&&&&&&&&&&&&&&&&&&&.",
@@ -60,23 +60,23 @@ drag_icon_xpm = [
trashcan_closed_xpm = [
"64 80 17 1",
-" c None",
-". c #030304",
-"+ c #5A5A5C",
-"@ c #323231",
-"# c #888888",
-"$ c #1E1E1F",
-"% c #767677",
-"& c #494949",
-"* c #9E9E9C",
-"= c #111111",
-"- c #3C3C3D",
-"; c #6B6B6B",
-"> c #949494",
-", c #282828",
-"' c #808080",
-") c #545454",
-"! c #AEAEAC",
+" c None",
+". c #030304",
+"+ c #5A5A5C",
+"@ c #323231",
+"# c #888888",
+"$ c #1E1E1F",
+"% c #767677",
+"& c #494949",
+"* c #9E9E9C",
+"= c #111111",
+"- c #3C3C3D",
+"; c #6B6B6B",
+"> c #949494",
+", c #282828",
+"' c #808080",
+") c #545454",
+"! c #AEAEAC",
" ",
" ",
" ",
@@ -160,23 +160,23 @@ trashcan_closed_xpm = [
trashcan_open_xpm = [
"64 80 17 1",
-" c None",
-". c #030304",
-"+ c #5A5A5C",
-"@ c #323231",
-"# c #888888",
-"$ c #1E1E1F",
-"% c #767677",
-"& c #494949",
-"* c #9E9E9C",
-"= c #111111",
-"- c #3C3C3D",
-"; c #6B6B6B",
-"> c #949494",
-", c #282828",
-"' c #808080",
-") c #545454",
-"! c #AEAEAC",
+" c None",
+". c #030304",
+"+ c #5A5A5C",
+"@ c #323231",
+"# c #888888",
+"$ c #1E1E1F",
+"% c #767677",
+"& c #494949",
+"* c #9E9E9C",
+"= c #111111",
+"- c #3C3C3D",
+"; c #6B6B6B",
+"> c #949494",
+", c #282828",
+"' c #808080",
+") c #545454",
+"! c #AEAEAC",
" ",
" ",
" ",
@@ -257,4 +257,3 @@ trashcan_open_xpm = [
" ",
" ",
" "]
-
diff --git a/examples/simple/hello.py b/examples/simple/hello.py
index 129c4ebe..79909b06 100755
--- a/examples/simple/hello.py
+++ b/examples/simple/hello.py
@@ -26,7 +26,6 @@ button.connect("clicked", hello)
window.add(button)
button.show()
-# as the button is within the window this also shows the window
+# as the button is within the window this also shows the window
window.show_all()
gtk.main()
-
diff --git a/examples/simple/scribble.py b/examples/simple/scribble.py
index 035b7d0f..c1684490 100755
--- a/examples/simple/scribble.py
+++ b/examples/simple/scribble.py
@@ -9,72 +9,72 @@ import gtk
pixmap = None
def configure_event(widget, event):
- global pixmap
- win = widget.window
- width, height = win.get_size()
- pixmap = gtk.gdk.Pixmap(win, width, height)
- pixmap.draw_rectangle(widget.get_style().white_gc, True,
- 0, 0, width, height)
- return True
+ global pixmap
+ win = widget.window
+ width, height = win.get_size()
+ pixmap = gtk.gdk.Pixmap(win, width, height)
+ pixmap.draw_rectangle(widget.get_style().white_gc, True,
+ 0, 0, width, height)
+ return True
def expose_event(widget, event):
- x, y, width, height = event.area
- gc = widget.get_style().fg_gc[gtk.STATE_NORMAL]
- widget.window.draw_drawable(gc, pixmap, x, y, x, y, width, height)
- return False
+ x, y, width, height = event.area
+ gc = widget.get_style().fg_gc[gtk.STATE_NORMAL]
+ widget.window.draw_drawable(gc, pixmap, x, y, x, y, width, height)
+ return False
def draw_brush(widget, x, y):
- x, y = int(x), int(y)
- pixmap.draw_rectangle(widget.get_style().black_gc, True,
- x-5, y-5, 10, 10)
- widget.queue_draw()
+ x, y = int(x), int(y)
+ pixmap.draw_rectangle(widget.get_style().black_gc, True,
+ x-5, y-5, 10, 10)
+ widget.queue_draw()
def button_press_event(widget, event):
- if event.button == 1 and pixmap != None:
- draw_brush(widget, event.x, event.y)
- return True
+ if event.button == 1 and pixmap != None:
+ draw_brush(widget, event.x, event.y)
+ return True
def motion_notify_event(widget, event):
- if event.is_hint:
- x, y, state = event.window.get_pointer()
- else:
- x = event.x; y = event.y
- state = event.state
- if state & gtk.gdk.BUTTON1_MASK and pixmap != None:
- draw_brush(widget, x, y)
- return True
+ if event.is_hint:
+ x, y, state = event.window.get_pointer()
+ else:
+ x = event.x; y = event.y
+ state = event.state
+ if state & gtk.gdk.BUTTON1_MASK and pixmap != None:
+ draw_brush(widget, x, y)
+ return True
def main():
- win = gtk.Window()
- win.set_name("Test Input")
- win.connect("destroy", lambda w: gtk.main_quit())
- win.set_border_width(5)
+ win = gtk.Window()
+ win.set_name("Test Input")
+ win.connect("destroy", lambda w: gtk.main_quit())
+ win.set_border_width(5)
- vbox = gtk.VBox(spacing=3)
- win.add(vbox)
- vbox.show()
+ vbox = gtk.VBox(spacing=3)
+ win.add(vbox)
+ vbox.show()
- drawing_area = gtk.DrawingArea()
- drawing_area.set_size_request(200, 200)
- vbox.pack_start(drawing_area)
- drawing_area.show()
+ drawing_area = gtk.DrawingArea()
+ drawing_area.set_size_request(200, 200)
+ vbox.pack_start(drawing_area)
+ drawing_area.show()
- drawing_area.connect("expose_event", expose_event)
- drawing_area.connect("configure_event", configure_event)
- drawing_area.connect("motion_notify_event", motion_notify_event)
- drawing_area.connect("button_press_event", button_press_event)
- drawing_area.set_events(gtk.gdk.EXPOSURE_MASK |
- gtk.gdk.LEAVE_NOTIFY_MASK |
- gtk.gdk.BUTTON_PRESS_MASK |
- gtk.gdk.POINTER_MOTION_MASK |
- gtk.gdk.POINTER_MOTION_HINT_MASK)
+ drawing_area.connect("expose_event", expose_event)
+ drawing_area.connect("configure_event", configure_event)
+ drawing_area.connect("motion_notify_event", motion_notify_event)
+ drawing_area.connect("button_press_event", button_press_event)
+ drawing_area.set_events(gtk.gdk.EXPOSURE_MASK |
+ gtk.gdk.LEAVE_NOTIFY_MASK |
+ gtk.gdk.BUTTON_PRESS_MASK |
+ gtk.gdk.POINTER_MOTION_MASK |
+ gtk.gdk.POINTER_MOTION_HINT_MASK)
- button = gtk.Button(stock=gtk.STOCK_QUIT)
- vbox.pack_start(button, expand=False, fill=False)
- button.connect("clicked", lambda widget, win=win: win.destroy())
- button.show()
- win.show()
- gtk.main()
+ button = gtk.Button(stock=gtk.STOCK_QUIT)
+ vbox.pack_start(button, expand=False, fill=False)
+ button.connect("clicked", lambda widget, win=win: win.destroy())
+ button.show()
+ win.show()
+ gtk.main()
if __name__ == '__main__':
- main()
+ main()
diff --git a/examples/simple/simple.py b/examples/simple/simple.py
index f350ab8d..97858301 100755
--- a/examples/simple/simple.py
+++ b/examples/simple/simple.py
@@ -7,19 +7,19 @@
import gobject, gtk
def hello(*args):
- print "Hello World"
- window.destroy()
+ print "Hello World"
+ window.destroy()
def destroy(*args):
- window.hide()
- gtk.main_quit()
+ window.hide()
+ gtk.main_quit()
window = gobject.new(gtk.Window,
- type=gtk.WINDOW_TOPLEVEL,
- title='Hello World',
- allow_grow=False,
- allow_shrink=False,
- border_width=10)
+ type=gtk.WINDOW_TOPLEVEL,
+ title='Hello World',
+ allow_grow=False,
+ allow_shrink=False,
+ border_width=10)
window.connect("destroy", destroy)
button = gobject.new(gtk.Button, label="Hello World", parent=window)
@@ -27,4 +27,3 @@ button.connect("clicked", hello)
window.show_all()
gtk.main()
-
diff --git a/examples/simple/tooltip.py b/examples/simple/tooltip.py
index 2617ccc0..0ef1d2b8 100755
--- a/examples/simple/tooltip.py
+++ b/examples/simple/tooltip.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
-""" Simple example of creating a basic window and button.
+""" Simple example of creating a basic window and button.
Also adds a tooltip. """
-import gtk
+import gtk
def hello_cb(widget, main_window):
""" Callback function that prints a message and destroys the window """
@@ -11,13 +11,13 @@ def hello_cb(widget, main_window):
main_window.destroy()
def destroy_cb(widget, main_window):
- """ Callback function to hide the main window and then terminate. """
- main_window.hide()
- gtk.main_quit()
+ """ Callback function to hide the main window and then terminate. """
+ main_window.hide()
+ gtk.main_quit()
def main():
""" Sets up the application
- Forms the widgets and connects callback functions to the signals """
+ Forms the widgets and connects callback functions to the signals """
window = gtk.Window( type=gtk.WINDOW_TOPLEVEL )
window.set_title("Hello World")
@@ -41,4 +41,3 @@ def main():
# if we're being run normally then call the main function
if __name__ == '__main__':
main()
-
diff --git a/gtk/__init__.py b/gtk/__init__.py
index b1ffbfae..d7f00205 100644
--- a/gtk/__init__.py
+++ b/gtk/__init__.py
@@ -84,10 +84,10 @@ class _Deprecated:
# as the one found in exceptions.
_warn(message, DeprecationWarning, 2)
try:
- return self.func(*args, **kwargs)
- except TypeError, e:
- msg = str(e).replace(self.name, self.oldname)
- raise TypeError(msg)
+ return self.func(*args, **kwargs)
+ except TypeError, e:
+ msg = str(e).replace(self.name, self.oldname)
+ raise TypeError(msg)
class _DeprecatedConstant:
def __init__(self, value, name, suggestion):
diff --git a/gtk/compat.py b/gtk/compat.py
index 94b0fbd5..8bba0503 100644
--- a/gtk/compat.py
+++ b/gtk/compat.py
@@ -8,12 +8,12 @@
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
-#
+#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
-#
+#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
diff --git a/gtk/keysyms.py b/gtk/keysyms.py
index 9653329b..55da5c0f 100644
--- a/gtk/keysyms.py
+++ b/gtk/keysyms.py
@@ -8,12 +8,12 @@
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
-#
+#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
-#
+#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
diff --git a/ltihooks.py b/ltihooks.py
index 7086365d..ae1d6040 100644
--- a/ltihooks.py
+++ b/ltihooks.py
@@ -21,33 +21,33 @@ import os, ihooks
class LibtoolHooks(ihooks.Hooks):
def get_suffixes(self):
"""Like normal get_suffixes, but adds .la suffixes to list"""
- ret = ihooks.Hooks.get_suffixes(self)
- ret.insert(0, ('module.la', 'rb', 3))
- ret.insert(0, ('.la', 'rb', 3))
- return ret
+ ret = ihooks.Hooks.get_suffixes(self)
+ ret.insert(0, ('module.la', 'rb', 3))
+ ret.insert(0, ('.la', 'rb', 3))
+ return ret
def load_dynamic(self, name, filename, file=None):
"""Like normal load_dynamic, but treat .la files specially"""
- if len(filename) > 3 and filename[-3:] == '.la':
- fp = open(filename, 'r')
- dlname = ''
- installed = 1
- line = fp.readline()
- while line:
- if len(line) > 7 and line[:7] == 'dlname=':
- dlname = line[8:-2]
- elif len(line) > 10 and line[:10] == 'installed=':
- installed = line[10:-1] == 'yes'
- line = fp.readline()
- fp.close()
- if dlname:
- if installed:
- filename = os.path.join(os.path.dirname(filename),
- dlname)
- else:
- filename = os.path.join(os.path.dirname(filename),
- '.libs', dlname)
- return ihooks.Hooks.load_dynamic(self, name, filename, file)
+ if len(filename) > 3 and filename[-3:] == '.la':
+ fp = open(filename, 'r')
+ dlname = ''
+ installed = 1
+ line = fp.readline()
+ while line:
+ if len(line) > 7 and line[:7] == 'dlname=':
+ dlname = line[8:-2]
+ elif len(line) > 10 and line[:10] == 'installed=':
+ installed = line[10:-1] == 'yes'
+ line = fp.readline()
+ fp.close()
+ if dlname:
+ if installed:
+ filename = os.path.join(os.path.dirname(filename),
+ dlname)
+ else:
+ filename = os.path.join(os.path.dirname(filename),
+ '.libs', dlname)
+ return ihooks.Hooks.load_dynamic(self, name, filename, file)
importer = ihooks.ModuleImporter()
importer.set_hooks(LibtoolHooks())
diff --git a/setup.py b/setup.py
index bf6be965..4dd5dc5c 100755
--- a/setup.py
+++ b/setup.py
@@ -8,10 +8,10 @@
#
"""Python Bindings for the GTK Widget Set.
-PyGTK is a set of bindings for the GTK widget set. It provides an object
-oriented interface that is slightly higher level than the C one. It
-automatically does all the type casting and reference counting that you
-would have to do normally with the C API. You can find out more on the
+PyGTK is a set of bindings for the GTK widget set. It provides an object
+oriented interface that is slightly higher level than the C one. It
+automatically does all the type casting and reference counting that you
+would have to do normally with the C API. You can find out more on the
official homepage, http://www.daa.com.au/~james/pygtk/"""
from distutils.command.build import build
@@ -32,7 +32,7 @@ else:
print "It's mainly included to be able to easily build win32 installers"
print "You may continue, but only if you agree to not ask any questions"
print "To build PyGTK in a supported way, read the INSTALL file"
- print
+ print
print "Build fixes are of course welcome and should be filed in bugzilla"
print '*'*70
input = raw_input('Not supported, ok [y/N]? ')
@@ -184,7 +184,7 @@ if pangocairo.can_build():
else:
gtk_pkc_name='gtk+-2.0'
gtk_pkc_version=GTK_REQUIRED
-
+
gtk = TemplateExtension(name='gtk', pkc_name=gtk_pkc_name,
pkc_version=gtk_pkc_version,
output='gtk._gtk',
diff --git a/tests/common.py b/tests/common.py
index d2785e1c..5043c64a 100644
--- a/tests/common.py
+++ b/tests/common.py
@@ -4,7 +4,7 @@ import sys
def importModules(buildDir, srcDir):
# Be very careful when you change this code, it's
# fragile and the order is really significant
-
+
# ltihooks
sys.path.insert(0, srcDir)
# atk, pango
@@ -15,7 +15,7 @@ def importModules(buildDir, srcDir):
sys.path.insert(0, os.path.join(buildDir, 'gtk'))
sys.argv.append('--g-fatal-warnings')
import ltihooks
-
+
gobject = importModule('gobject', buildDir, 'gobject/gobject.la')
atk = importModule('atk', buildDir)
pango = importModule('pango', buildDir)
@@ -25,12 +25,12 @@ def importModules(buildDir, srcDir):
glade = importModule('gtk.glade', buildDir, 'glade.la')
except ImportError:
glade = None
-
+
ltihooks.uninstall()
del ltihooks
-
+
globals().update(locals())
-
+
os.environ['PYGTK_USE_GIL_STATE_API'] = ''
gobject.threads_init()
@@ -50,8 +50,8 @@ def importModule(module, directory, name=None):
obj = __import__(module, {}, {}, fromlist)
except ImportError:
print 'WARNING: %s could not be imported' % origName
- return
-
+ return
+
if hasattr(obj, '__file__'):
location = obj.__file__
else:
@@ -63,7 +63,6 @@ def importModule(module, directory, name=None):
current = os.path.abspath(location)
if current != expected:
raise AssertionError('module %s imported from wrong location. Expected %s, got %s' % (
- module, expected, current))
+ module, expected, current))
return obj
-
diff --git a/tests/runtests.py b/tests/runtests.py
index 42f6a0c7..7c5a3086 100644
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -37,8 +37,8 @@ loader = unittest.TestLoader()
for name in gettestnames():
if program and program not in name:
- continue
+ continue
suite.addTest(loader.loadTestsFromName(name))
-
+
testRunner = unittest.TextTestRunner()
testRunner.run(suite)
diff --git a/tests/test_actiongroup.py b/tests/test_actiongroup.py
index 77fcb59d..02aa4231 100644
--- a/tests/test_actiongroup.py
+++ b/tests/test_actiongroup.py
@@ -34,7 +34,7 @@ class ActionGroupTest(unittest.TestCase):
</placeholder>
</toolbar>
</ui>'''
-
+
def build_gui(self):
# Create the toplevel window
window = gtk.Window()
@@ -118,7 +118,7 @@ class ActionGroupTest(unittest.TestCase):
gtk.main_quit()
def setUp(self):
- gc.collect()
+ gc.collect()
def testActionGroups(self):
self.build_gui()
diff --git a/tests/test_conversion.py b/tests/test_conversion.py
index 373ab9d1..d3aee722 100644
--- a/tests/test_conversion.py
+++ b/tests/test_conversion.py
@@ -7,10 +7,10 @@ import unittest
from common import gtk, gobject
class Tests(unittest.TestCase):
-
+
def testUnicharArg(self):
""" Test unichar values when used as arguments. """
-
+
entry = gtk.Entry()
for valid_value in ['a', u'b', u'\ufff0', u'\ufff0'.encode()]:
entry.set_invisible_char(valid_value)
@@ -27,11 +27,11 @@ class Tests(unittest.TestCase):
raise AssertionError(
'exception not raised on invalid value w/ '
'set_invisible_char: %s' % invalid_value)
-
+
def testUnicharProperty(self):
""" Test unichar values when used as properties. """
-
+
entry = gtk.Entry()
for valid_value in ['a', u'b', u'\ufff0', u'\ufff0'.encode()]:
entry.set_property('invisible_char', valid_value)
@@ -53,7 +53,7 @@ class Tests(unittest.TestCase):
entry = gobject.new(gtk.Entry, invisible_char=valid_value)
self.assertEqual(entry.get_property('invisible_char'),
valid_value, valid_value)
-
+
def testColorCreation(self):
""" Test GdkColor creation """
@@ -76,10 +76,10 @@ class Tests(unittest.TestCase):
table = gtk.Table(2, 2, False)
table.attach(child, 1, 2, 0, 1, ypadding=2)
self.assertEqual(table.child_get_property(child, 'y-padding'), 2)
-
+
child = gtk.DrawingArea()
table.attach(child, 1, 2, 0, 1, ypadding=2L)
self.assertEqual(table.child_get_property(child, 'y-padding'), 2)
-
+
if __name__ == '__main__':
unittest.main()
diff --git a/tests/test_dialog.py b/tests/test_dialog.py
index 1ee4286b..9102af65 100644
--- a/tests/test_dialog.py
+++ b/tests/test_dialog.py
@@ -8,7 +8,7 @@ from common import gtk
class MessageDialogTest(unittest.TestCase):
def testDialogAdd(self):
dialog = gtk.MessageDialog()
-
+
response_id = sys.maxint + 1
self.assertRaises(OverflowError, dialog.add_button, "Foo", response_id)
self.assertRaises(OverflowError, dialog.add_buttons, "Foo", response_id)
@@ -30,6 +30,6 @@ class MessageDialogTest(unittest.TestCase):
while gc.collect():
pass
self.assertEqual(ref(), None)
-
+
if __name__ == '__main__':
unittest.main()
diff --git a/tests/test_enum.py b/tests/test_enum.py
index 508ad16c..88d82872 100644
--- a/tests/test_enum.py
+++ b/tests/test_enum.py
@@ -123,7 +123,7 @@ class FlagsTest(unittest.TestCase):
else:
raise AssertionError
warnings.resetwarnings()
-
+
def testFlagOperations(self):
a = gdk.BUTTON_PRESS_MASK
self.failUnless(isinstance(a, GFlags))
@@ -164,7 +164,7 @@ class FlagsTest(unittest.TestCase):
self.assertEquals(int(c), (int(gdk.BUTTON_PRESS_MASK) |
int(gdk.BUTTON_RELEASE_MASK) |
int(gdk.ENTER_NOTIFY_MASK)))
-
+
def testUnsupportedOpertionWarning(self):
warnings.filterwarnings("error", "", Warning, "", 0)
try:
@@ -180,13 +180,13 @@ class FlagsTest(unittest.TestCase):
gtk.container_class_list_child_properties(gtk.Table))
self.failUnless(len(props) >= 2)
pspec = props[0]
- klass = pspec.flags_class
+ klass = pspec.flags_class
self.assertEquals(klass, gtk.AttachOptions)
self.failUnless(hasattr(klass, '__flags_values__'))
self.failUnless(isinstance(klass.__flags_values__, dict))
self.failUnless(len(klass.__flags_values__) >= 3)
self.failUnless(isinstance(pspec.default_value, gtk.AttachOptions))
-
+
def testEnumComparision(self):
enum = gtk.TREE_VIEW_DROP_BEFORE
self.assertEquals(enum, 0)
@@ -201,7 +201,7 @@ class FlagsTest(unittest.TestCase):
self.failUnless(not enum >= 10)
self.failUnless(enum <= 0)
self.failUnless(enum <= 10)
-
+
def testFlagComparision(self):
flag = gdk.EXPOSURE_MASK
self.assertEquals(flag, 2)
diff --git a/tests/test_gdkevent.py b/tests/test_gdkevent.py
index 9ba0613a..1721a9e4 100644
--- a/tests/test_gdkevent.py
+++ b/tests/test_gdkevent.py
@@ -12,7 +12,7 @@ class TestGdkEvent(unittest.TestCase):
win1.realize()
event.window = win1.window
self.assertEqual(event.window, win1.window)
-
+
win2 = gtk.Window()
win2.realize()
event.window = win2.window
diff --git a/tests/test_liststore.py b/tests/test_liststore.py
index a5d9f616..65cc900c 100644
--- a/tests/test_liststore.py
+++ b/tests/test_liststore.py
@@ -13,7 +13,7 @@ class ListStoreTest(unittest.TestCase):
store.set_value(store.insert(0), 0, 2)
self.assertEqual(len(store), 1)
self.assertEqual(store[0][0], 2)
-
+
# New way
store.insert(0, (1,))
self.assertEqual(len(store), 2)
diff --git a/tests/test_radiobutton.py b/tests/test_radiobutton.py
index 98d86dd6..43a1c4f6 100644
--- a/tests/test_radiobutton.py
+++ b/tests/test_radiobutton.py
@@ -5,7 +5,7 @@ from common import gtk
class RadioTest(unittest.TestCase):
widget_type = None
constructor_args = ()
-
+
def new(self):
return self.widget_type(*self.constructor_args)
@@ -17,10 +17,10 @@ class RadioTest(unittest.TestCase):
def getLabel(self, obj):
return obj.get_property('label')
-
+
def compareGroups(self, group1, group2):
return self.assertEqual(group1, group2)
-
+
def testCreate(self):
if self.widget_type is None:
return
@@ -40,7 +40,7 @@ class RadioTest(unittest.TestCase):
radio2 = self.newGroup(radio)
self.compareGroups(radio.get_group(), radio2.get_group())
self.compareGroups(radio2.get_group(), radio.get_group())
-
+
def testEmptyGroup(self):
if self.widget_type is None:
return
@@ -57,11 +57,11 @@ class RadioTest(unittest.TestCase):
class RadioButtonTest(RadioTest):
widget_type = gtk.RadioButton
-
+
class RadioActionTest(RadioTest):
widget_type = gtk.RadioAction
constructor_args = ('RadioAction', 'test-radio-action', '', '', 0)
-
+
def newGroup(self, radio):
# No constructor, so set it manually
obj = self.new()
@@ -85,7 +85,7 @@ class RadioToolButtonTest(RadioTest):
radio = gtk.RadioToolButton(None)
radio.set_label(label)
return radio
-
+
class RadioMenuItem(RadioTest):
widget_type = gtk.RadioMenuItem
diff --git a/tests/test_style.py b/tests/test_style.py
index 6bc8f9ce..a356a5ae 100644
--- a/tests/test_style.py
+++ b/tests/test_style.py
@@ -28,4 +28,3 @@ class StylePixmapTest(unittest.TestCase):
self.assertRaises(TypeError, func, gtk.STATE_NORMAL, True)
self.assertRaises(TypeError, func, gtk.STATE_NORMAL, 0L)
self.assertRaises(TypeError, func, gtk.STATE_NORMAL, object())
-
diff --git a/tests/testmodule.py b/tests/testmodule.py
index 8761ecfc..c6263341 100644
--- a/tests/testmodule.py
+++ b/tests/testmodule.py
@@ -6,4 +6,3 @@ class PyLabel(gtk.Label):
def __init__(self):
gtk.Label.__init__(self, "hello")
-