mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 08:50:35 +05:00
[EDF25906] : redirect output of the wget into MESSAGE macro
This commit is contained in:
parent
f4764708fe
commit
dacd89c7df
@ -25,6 +25,7 @@ SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS})
|
||||
SET(_bin_SCRIPTS
|
||||
smesh_setenv.py
|
||||
smesh_test.py
|
||||
smesh_wget.py
|
||||
)
|
||||
|
||||
# --- rules ---
|
||||
|
31
bin/smesh_wget.py
Normal file
31
bin/smesh_wget.py
Normal file
@ -0,0 +1,31 @@
|
||||
#!/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 )
|
@ -275,7 +275,7 @@ namespace
|
||||
|
||||
std::string outFile = tmpDir + "libMeshGemsKeyGenerator.so";
|
||||
|
||||
std::string cmd = "wget " + url + " -O " + outFile;
|
||||
std::string cmd = "smesh_wget.py " + url + " -O " + outFile;
|
||||
|
||||
#endif
|
||||
|
||||
@ -289,8 +289,34 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
#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 );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user