--- /dev/null
+#!/usr/bin/env python3
+# Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# 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 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import os
+import os.path as osp
+import sys
+import subprocess as sp
+
+p = sp.Popen(["wget"]+sys.argv[1:-1],stdout=sp.PIPE,stderr=sp.PIPE)
+stdout, stderr = p.communicate()
+ret = p.returncode
+with open(sys.argv[-1],"wb") as f:
+ f.write( stdout + stderr )
+sys.exit( ret )
std::string outFile = tmpDir + "libMeshGemsKeyGenerator.so";
- std::string cmd = "wget " + url + " -O " + outFile;
+ std::string cmd = "smesh_wget.py " + url + " -O " + outFile;
#endif
}
}
+#ifndef WIN32
+ //[EDF25906]
+ std::string redirect = tmpDir + "redirect.out";
+ std::ostringstream oss;
+ oss << cmd << " " << redirect;
+ cmd = oss.str();
+#endif
+
system( cmd.c_str() ); // download
+#ifndef WIN32
+ {//[EDF25906]
+ std::ifstream infile(redirect);
+ infile.seekg(0, std::ios::end);
+ size_t length = infile.tellg();
+ infile.seekg(0, std::ios::beg);
+ std::unique_ptr<char []> buffer(new char[length+1]);
+ buffer[length] = '\0';
+ infile.read(const_cast<char *>( buffer.get() ),length);
+
+ MESSAGE( buffer.get() )
+ }
+ {
+ SMESH_File redirectFile( redirect, /*open=*/false );
+ redirectFile.remove();
+ }
+#endif
+
SMESH_File resultFile( outFile, /*open=*/false );
bool ok = ( resultFile.exists() && resultFile.size() > 0 );