]> Creatis software - gdcm.git/commitdiff
* bug fix for python's None object
authorregrain <regrain>
Wed, 11 Feb 2004 12:20:58 +0000 (12:20 +0000)
committerregrain <regrain>
Wed, 11 Feb 2004 12:20:58 +0000 (12:20 +0000)
     * Add a new python demo
     -- BeNours

gdcmPython/demo/makeDicomDir.py [new file with mode: 0644]
gdcmPython/gdcm.i

diff --git a/gdcmPython/demo/makeDicomDir.py b/gdcmPython/demo/makeDicomDir.py
new file mode 100644 (file)
index 0000000..869441f
--- /dev/null
@@ -0,0 +1,43 @@
+from gdcmPython import *
+import sys
+
+### Get filename from command line or default it
+try:
+   FileName = sys.argv[1]
+except IndexError:
+   FileName = os.path.join(GDCM_DATA_PATH, "DICOMDIR")
+
+try:
+   printLevel = int(sys.argv[2])
+except IndexError:
+   printLevel = 1
+print FileName
+
+### Build the header element list
+toRead = gdcmDicomDir(FileName)
+
+def startMethod():
+       print "Python start"
+
+def endMethod():
+       print "Python end"
+
+def progressMethod():
+       print "Python progress",toRead.GetProgress()
+
+toRead.SetStartMethod(None)
+toRead.SetProgressMethod(progressMethod)
+toRead.SetEndMethod(endMethod)
+toRead.ParseDirectory()
+
+print "##############################################################"
+print "### Display all the elements and their respective values"
+print "## found in the ", FileName, " file."
+print "##############################################################"
+toRead.SetPrintLevel(-1)
+toRead.Print()
+
+ValDict = toRead.GetEntry()
+for key in ValDict.keys():
+       print "[%s] = [%s]" %(key, ValDict[key])
+
index b731ceddb63b0b610915d2dde5ce17d0049913f4..439884eacab0bef3bae6e31f182a7a77b64cab5e 100644 (file)
@@ -217,10 +217,19 @@ extern gdcmGlobal gdcmGlob;
 ////////////////////////////////////////////////////////////////////////////
 // Deals with function returning a C++ string.
 %typemap(python, in) (gdcmMethod *,void * =NULL,gdcmMethod * =NULL) {
-    Py_INCREF($input);
-    $1=vtkPythonVoidFunc;
-       $2=$input;
-       $3=vtkPythonVoidFuncArgDelete;
+       if($input!=Py_None)
+       {
+               Py_INCREF($input);
+               $1=vtkPythonVoidFunc;
+               $2=$input;
+               $3=vtkPythonVoidFuncArgDelete;
+       }
+       else
+       {
+               $1=NULL;
+               $2=NULL;
+               $3=NULL;
+       }
 }