app.py --help works, whee !
authorThomas Vander Stichele <thomas@apestaart.org>
Sat, 4 Oct 2003 22:49:37 +0000 (22:49 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Sat, 4 Oct 2003 22:49:37 +0000 (22:49 +0000)
Original commit message from CVS:
app.py --help works, whee !

ChangeLog
gst/gstmodule.c
gst/gstreamermodule.c
gstreamer/gstmodule.c
gstreamer/gstreamermodule.c

index 33851e1..1aecada 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * gstreamer/gstreamermodule.c: (init_gstreamer):
+          use gst_init_check () with argc and argv (see pygtk)
+
 2003-10-04  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * Makefile.am: add testsuite dir
index cf3fb65..b89331f 100644 (file)
@@ -37,9 +37,38 @@ DL_EXPORT(void)
 init_gstreamer (void)
 {
        PyObject *m, *d;
+       PyObject *av;
+        int argc, i;
+        char **argv;
 
        init_pygobject ();
-       gst_init(NULL,NULL);
+
+        /* pull in arguments */
+        av = PySys_GetObject ("argv");
+        if (av != NULL) {
+            argc = PyList_Size (av);
+            argv = g_new (char *, argc);
+            for (i = 0; i < argc; i++)
+                argv[i] = g_strdup (PyString_AsString (PyList_GetItem (av, i)));
+        } else {
+                argc = 0;
+                argv = NULL;
+        }
+                                                                                    
+        if (!gst_init_check (&argc, &argv)) {
+            if (argv != NULL) {
+                for (i = 0; i < argc; i++)
+                    g_free (argv[i]);
+                g_free (argv);
+            }
+            PyErr_SetString (PyExc_RuntimeError, "can't initialize module gstreamer");
+        }
+        if (argv != NULL) {
+            PySys_SetArgv (argc, argv);
+            for (i = 0; i < argc; i++)
+                g_free (argv[i]);
+            g_free (argv);
+        }
 
        m = Py_InitModule ("_gstreamer", pygstreamer_functions);
        d = PyModule_GetDict (m);
index cf3fb65..b89331f 100644 (file)
@@ -37,9 +37,38 @@ DL_EXPORT(void)
 init_gstreamer (void)
 {
        PyObject *m, *d;
+       PyObject *av;
+        int argc, i;
+        char **argv;
 
        init_pygobject ();
-       gst_init(NULL,NULL);
+
+        /* pull in arguments */
+        av = PySys_GetObject ("argv");
+        if (av != NULL) {
+            argc = PyList_Size (av);
+            argv = g_new (char *, argc);
+            for (i = 0; i < argc; i++)
+                argv[i] = g_strdup (PyString_AsString (PyList_GetItem (av, i)));
+        } else {
+                argc = 0;
+                argv = NULL;
+        }
+                                                                                    
+        if (!gst_init_check (&argc, &argv)) {
+            if (argv != NULL) {
+                for (i = 0; i < argc; i++)
+                    g_free (argv[i]);
+                g_free (argv);
+            }
+            PyErr_SetString (PyExc_RuntimeError, "can't initialize module gstreamer");
+        }
+        if (argv != NULL) {
+            PySys_SetArgv (argc, argv);
+            for (i = 0; i < argc; i++)
+                g_free (argv[i]);
+            g_free (argv);
+        }
 
        m = Py_InitModule ("_gstreamer", pygstreamer_functions);
        d = PyModule_GetDict (m);
index cf3fb65..b89331f 100644 (file)
@@ -37,9 +37,38 @@ DL_EXPORT(void)
 init_gstreamer (void)
 {
        PyObject *m, *d;
+       PyObject *av;
+        int argc, i;
+        char **argv;
 
        init_pygobject ();
-       gst_init(NULL,NULL);
+
+        /* pull in arguments */
+        av = PySys_GetObject ("argv");
+        if (av != NULL) {
+            argc = PyList_Size (av);
+            argv = g_new (char *, argc);
+            for (i = 0; i < argc; i++)
+                argv[i] = g_strdup (PyString_AsString (PyList_GetItem (av, i)));
+        } else {
+                argc = 0;
+                argv = NULL;
+        }
+                                                                                    
+        if (!gst_init_check (&argc, &argv)) {
+            if (argv != NULL) {
+                for (i = 0; i < argc; i++)
+                    g_free (argv[i]);
+                g_free (argv);
+            }
+            PyErr_SetString (PyExc_RuntimeError, "can't initialize module gstreamer");
+        }
+        if (argv != NULL) {
+            PySys_SetArgv (argc, argv);
+            for (i = 0; i < argc; i++)
+                g_free (argv[i]);
+            g_free (argv);
+        }
 
        m = Py_InitModule ("_gstreamer", pygstreamer_functions);
        d = PyModule_GetDict (m);
index cf3fb65..b89331f 100644 (file)
@@ -37,9 +37,38 @@ DL_EXPORT(void)
 init_gstreamer (void)
 {
        PyObject *m, *d;
+       PyObject *av;
+        int argc, i;
+        char **argv;
 
        init_pygobject ();
-       gst_init(NULL,NULL);
+
+        /* pull in arguments */
+        av = PySys_GetObject ("argv");
+        if (av != NULL) {
+            argc = PyList_Size (av);
+            argv = g_new (char *, argc);
+            for (i = 0; i < argc; i++)
+                argv[i] = g_strdup (PyString_AsString (PyList_GetItem (av, i)));
+        } else {
+                argc = 0;
+                argv = NULL;
+        }
+                                                                                    
+        if (!gst_init_check (&argc, &argv)) {
+            if (argv != NULL) {
+                for (i = 0; i < argc; i++)
+                    g_free (argv[i]);
+                g_free (argv);
+            }
+            PyErr_SetString (PyExc_RuntimeError, "can't initialize module gstreamer");
+        }
+        if (argv != NULL) {
+            PySys_SetArgv (argc, argv);
+            for (i = 0; i < argc; i++)
+                g_free (argv[i]);
+            g_free (argv);
+        }
 
        m = Py_InitModule ("_gstreamer", pygstreamer_functions);
        d = PyModule_GetDict (m);