]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Bug IPAL8742 (Add comments into generated files of DumpPython). Add static GetDumpStu...
authoreap <eap@opencascade.com>
Fri, 6 May 2005 06:39:48 +0000 (06:39 +0000)
committereap <eap@opencascade.com>
Fri, 6 May 2005 06:39:48 +0000 (06:39 +0000)
Bug IPAL8749. Return false if any of scripts is invalid

src/SALOMEDSImpl/SALOMEDSImpl_Study.cxx

index 9a64f6c2742fd3e7dcb947627a0820d1ec4ba906..6e0899ff885f39de92eb99a2dd1f0acb1d072585 100644 (file)
@@ -1269,13 +1269,15 @@ bool SALOMEDSImpl_Study::DumpStudy(const TCollection_AsciiString& thePath,
   TCollection_AsciiString aBatchModeScript = "salome";
 
   //Output to the main Study script required Python modules import, set sys.path and add a creation of the study.
+  fp << GetDumpStudyComment().ToCString() << endl << endl;
   fp << "import sys" << endl;
   fp << "import " << aBatchModeScript << "\n" << endl;
-  fp << "sys.path.append(\'" << thePath << "\')\n" << endl;
+  fp << "sys.path.insert( 0, \'" << thePath << "\')\n" << endl;
   
   Handle(TColStd_HSequenceOfAsciiString) aSeqOfFileNames = new TColStd_HSequenceOfAsciiString;
 
   //Iterate all components and create the componponents specific scripts.
+  bool isOk = true;
   int aLength = aSeq.Length();
   for(int i = 1; i <= aLength; i++) {
 
@@ -1315,6 +1317,8 @@ bool SALOMEDSImpl_Study::DumpStudy(const TCollection_AsciiString& thePath,
     bool isValidScript;
     long aStreamLength  = 0;
     unsigned char* aStream = aDriver->DumpPython(this, isPublished, isValidScript, aStreamLength);
+    if ( !isValidScript )
+      isOk = false;
 
     //Create a file that will contain the component specific script
     fstream fp2;
@@ -1355,7 +1359,21 @@ bool SALOMEDSImpl_Study::DumpStudy(const TCollection_AsciiString& thePath,
   }
 
   fp.close();
-  return true;
+  return isOk;
+}
+
+//=======================================================================
+//function : GetDumpStudyComment
+//purpose  : return a header comment for a DumpStudy script
+//=======================================================================
+
+TCollection_AsciiString SALOMEDSImpl_Study::GetDumpStudyComment(const char* theComponentName)
+{
+  TCollection_AsciiString txt
+    ("### This file is generated by SALOME automatically by dump python funcitonality");
+  if ( theComponentName )
+    txt += TCollection_AsciiString(" of ") + (char*) theComponentName + " component";
+  return txt;
 }
 
 void dumpSO(const Handle(SALOMEDSImpl_SObject)& theSO,