mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +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
|
SET(_bin_SCRIPTS
|
||||||
smesh_setenv.py
|
smesh_setenv.py
|
||||||
smesh_test.py
|
smesh_test.py
|
||||||
|
smesh_wget.py
|
||||||
)
|
)
|
||||||
|
|
||||||
# --- rules ---
|
# --- 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 outFile = tmpDir + "libMeshGemsKeyGenerator.so";
|
||||||
|
|
||||||
std::string cmd = "wget " + url + " -O " + outFile;
|
std::string cmd = "smesh_wget.py " + url + " -O " + outFile;
|
||||||
|
|
||||||
#endif
|
#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
|
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 );
|
SMESH_File resultFile( outFile, /*open=*/false );
|
||||||
bool ok = ( resultFile.exists() && resultFile.size() > 0 );
|
bool ok = ( resultFile.exists() && resultFile.size() > 0 );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user