summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--glib/option.py25
-rw-r--r--gobject/Makefile.am3
-rw-r--r--gobject/__init__.py4
-rw-r--r--gobject/constants.py.in47
-rw-r--r--gobject/generate-constants.c13
-rw-r--r--gobject/propertyhelper.py6
7 files changed, 72 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index 35be8fa..7646856 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2008-07-27 Johan Dahlin <johan@gnome.org>
+ * glib/option.py:
+ Remove tabs. Use sys.exc_info()[1] to fetch the exception value
+
+ * gobject/__init__.py:
+ * gobject/propertyhelper.py:
+ Import gobject._gobject instead of just gobject.
+
+ * gobject/Makefile.am:
+ * gobject/constants.py.in:
+ * gobject/generate-constants.c (main):
+ Don't add long suffix if python >= 3.0
+
+2008-07-27 Johan Dahlin <johan@gnome.org>
+
* glib/pyglib-python-compat.h:
* gobject/gobjectmodule.c (pyg_object_new),
(pyg__install_metaclass):
diff --git a/glib/option.py b/glib/option.py
index 034b7b3..8639540 100644
--- a/glib/option.py
+++ b/glib/option.py
@@ -34,7 +34,8 @@ import optparse
from optparse import OptParseError, OptionError, OptionValueError, \
BadOptionError, OptionConflictError
-import _glib
+import glib
+_glib = sys.modules['glib._glib']
__all__ = [
"OptParseError",
@@ -182,12 +183,13 @@ class OptionGroup(optparse.OptionGroup):
try:
opt.process(option_name, option_value, self.values, parser)
- except OptionValueError, error:
- gerror = _glib.GError(str(error))
- gerror.domain = _glib.OPTION_ERROR
- gerror.code = _glib.OPTION_ERROR_BAD_VALUE
- gerror.message = str(error)
- raise gerror
+ except OptionValueError:
+ error = sys.exc_info()[1]
+ gerror = _glib.GError(str(error))
+ gerror.domain = _glib.OPTION_ERROR
+ gerror.code = _glib.OPTION_ERROR_BAD_VALUE
+ gerror.message = str(error)
+ raise gerror
group = _glib.OptionGroup(self.name, self.description,
self.help_description, callback)
@@ -325,13 +327,14 @@ class OptionParser(optparse.OptionParser):
try:
options, args = optparse.OptionParser.parse_args(
self, args, values)
- except _glib.GError, error:
+ except _glib.GError:
+ error = sys.exc_info()[1]
if error.domain != _glib.OPTION_ERROR:
- raise
+ raise
if error.code == _glib.OPTION_ERROR_BAD_VALUE:
raise OptionValueError(error.message)
elif error.code == _glib.OPTION_ERROR_UNKNOWN_OPTION:
- raise BadOptionError(error.message)
+ raise BadOptionError(error.message)
elif error.code == _glib.OPTION_ERROR_FAILED:
raise OptParseError(error.message)
else:
@@ -342,6 +345,6 @@ class OptionParser(optparse.OptionParser):
options.ensure_value(key, value)
args = args[2:-len(old_args)]
- return options, args
+ return options, args
make_option = Option
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 41dcf6d..e59daa4 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -26,7 +26,8 @@ constants.py: generate-constants$(EXEEXT) constants.py.in
$(top_builddir)/gobject/generate-constants$(EXEEXT) >> constants.py
chmod 444 constants.py
-generate_constants_CFLAGS = $(GLIB_CFLAGS)
+generate_constants_CFLAGS = $(GLIB_CFLAGS) $(PYTHON_INCLUDES)
+
noinst_PROGRAMS = generate-constants
CLEANFILES = constants.py
EXTRA_DIST = constants.py.in
diff --git a/gobject/__init__.py b/gobject/__init__.py
index cf8be3f..ae2c5be 100644
--- a/gobject/__init__.py
+++ b/gobject/__init__.py
@@ -52,10 +52,10 @@ from glib import SPAWN_LEAVE_DESCRIPTORS_OPEN, SPAWN_DO_NOT_REAP_CHILD, \
OPTION_ERROR_FAILED, OPTION_REMAINING, OPTION_ERROR
from gobject.constants import *
-from _gobject import *
+from gobject._gobject import *
_PyGObject_API = _gobject._PyGObject_API
-from propertyhelper import property
+from gobject.propertyhelper import property
sys.modules['gobject.option'] = option
diff --git a/gobject/constants.py.in b/gobject/constants.py.in
index 6cb2d4f..80bf920 100644
--- a/gobject/constants.py.in
+++ b/gobject/constants.py.in
@@ -19,29 +19,32 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
-from _gobject import type_from_name
+import sys
+
+import gobject._gobject
+_gobject = sys.modules['gobject._gobject']
# TYPE_INVALID defined in gobjectmodule.c
-TYPE_NONE = type_from_name('void')
-TYPE_INTERFACE = type_from_name('GInterface')
-TYPE_CHAR = type_from_name('gchar')
-TYPE_UCHAR = type_from_name('guchar')
-TYPE_BOOLEAN = type_from_name('gboolean')
-TYPE_INT = type_from_name('gint')
-TYPE_UINT = type_from_name('guint')
-TYPE_LONG = type_from_name('glong')
-TYPE_ULONG = type_from_name('gulong')
-TYPE_INT64 = type_from_name('gint64')
-TYPE_UINT64 = type_from_name('guint64')
-TYPE_ENUM = type_from_name('GEnum')
-TYPE_FLAGS = type_from_name('GFlags')
-TYPE_FLOAT = type_from_name('gfloat')
-TYPE_DOUBLE = type_from_name('gdouble')
-TYPE_STRING = type_from_name('gchararray')
-TYPE_POINTER = type_from_name('gpointer')
-TYPE_BOXED = type_from_name('GBoxed')
-TYPE_PARAM = type_from_name('GParam')
-TYPE_OBJECT = type_from_name('GObject')
-TYPE_PYOBJECT = type_from_name('PyObject')
+TYPE_NONE = _gobject.type_from_name('void')
+TYPE_INTERFACE = _gobject.type_from_name('GInterface')
+TYPE_CHAR = _gobject.type_from_name('gchar')
+TYPE_UCHAR = _gobject.type_from_name('guchar')
+TYPE_BOOLEAN = _gobject.type_from_name('gboolean')
+TYPE_INT = _gobject.type_from_name('gint')
+TYPE_UINT = _gobject.type_from_name('guint')
+TYPE_LONG = _gobject.type_from_name('glong')
+TYPE_ULONG = _gobject.type_from_name('gulong')
+TYPE_INT64 = _gobject.type_from_name('gint64')
+TYPE_UINT64 = _gobject.type_from_name('guint64')
+TYPE_ENUM = _gobject.type_from_name('GEnum')
+TYPE_FLAGS = _gobject.type_from_name('GFlags')
+TYPE_FLOAT = _gobject.type_from_name('gfloat')
+TYPE_DOUBLE = _gobject.type_from_name('gdouble')
+TYPE_STRING = _gobject.type_from_name('gchararray')
+TYPE_POINTER = _gobject.type_from_name('gpointer')
+TYPE_BOXED = _gobject.type_from_name('GBoxed')
+TYPE_PARAM = _gobject.type_from_name('GParam')
+TYPE_OBJECT = _gobject.type_from_name('GObject')
+TYPE_PYOBJECT = _gobject.type_from_name('PyObject')
TYPE_UNICHAR = TYPE_UINT
diff --git a/gobject/generate-constants.c b/gobject/generate-constants.c
index 2a6e4d2..f872a36 100644
--- a/gobject/generate-constants.c
+++ b/gobject/generate-constants.c
@@ -1,5 +1,12 @@
#include <stdio.h>
#include <glibconfig.h>
+#include <Python.h>
+
+#if PY_VERSION_HEX < 0x03000000
+# define LONGSUFFIX "L"
+#else
+# define LONGSUFFIX ""
+#endif
int main(void)
{
@@ -15,8 +22,8 @@ int main(void)
printf("G_MININT = %d\n", G_MININT);
printf("G_MAXINT = %d\n", G_MAXINT);
printf("G_MAXUINT = %u\n", G_MAXUINT);
- printf("G_MINLONG = %ldL\n", G_MINLONG);
- printf("G_MAXLONG = %ldL\n", G_MAXLONG);
- printf("G_MAXULONG = %luL\n", G_MAXULONG);
+ printf("G_MINLONG = %ld%s\n", G_MINLONG, LONGSUFFIX);
+ printf("G_MAXLONG = %ld%s\n", G_MAXLONG, LONGSUFFIX);
+ printf("G_MAXULONG = %lu%s\n", G_MAXULONG, LONGSUFFIX);
return 0;
}
diff --git a/gobject/propertyhelper.py b/gobject/propertyhelper.py
index 287516b..faf1562 100644
--- a/gobject/propertyhelper.py
+++ b/gobject/propertyhelper.py
@@ -19,7 +19,11 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
-import _gobject
+import sys
+
+import gobject._gobject
+_gobject = sys.modules['gobject._gobject']
+
from gobject.constants import \
TYPE_NONE, TYPE_INTERFACE, TYPE_CHAR, TYPE_UCHAR, \
TYPE_BOOLEAN, TYPE_INT, TYPE_UINT, TYPE_LONG, \