Interface SFTP prête pour tests sur site
This commit is contained in:
parent
76f0fa79bc
commit
c4db201023
@ -1 +1,3 @@
|
|||||||
put ./Trains/LOGZT2_2023-11-24-13-19-04-944.bin /home/zonetest/DevZT/test/CVRT-N-LOGZT2_2023-11-24-13-19-04-944.bin
|
put ./Trains/LOGZT1_2023-11-27-07-28-45-323.bin /home/zonetest/DevZT/test/CVRT-D-LOGZT1_2023-11-27-07-28-45-323.bin
|
||||||
|
put ./LOG/LogZT.txt /home/zonetest/DevZT/test/CVRT-LogZT.txt
|
||||||
|
put ./ING/IngLog.txt /home/zonetest/DevZT/test/CVRT-IngLog.txt
|
||||||
@ -1,6 +1,7 @@
|
|||||||
#include "SFTPServerManager.h"
|
#include "SFTPServerManager.h"
|
||||||
#include "GlobalDefine.h"
|
#include "GlobalDefine.h"
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
|
#include "EngLog.h"
|
||||||
|
|
||||||
|
|
||||||
CSFTPServerManager::CSFTPServerManager()
|
CSFTPServerManager::CSFTPServerManager()
|
||||||
@ -8,7 +9,7 @@ CSFTPServerManager::CSFTPServerManager()
|
|||||||
mEnableSFTPClient = false;
|
mEnableSFTPClient = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CSFTPServerManager::InitFTPServerManager(bool EnableSFTPClient, QString SFTPLogin, QString SFTPPassword, QString SFTPServerAddress, QString SFTPRemoteDir, QString FilenamePrefix)
|
int CSFTPServerManager::InitFTPServerManager(bool EnableSFTPClient, QString SFTPLogin, QString SFTPPassword, QString SFTPServerAddress, QString SFTPRemoteDir, QString FilenamePrefix, bool CopyEngLog)
|
||||||
{
|
{
|
||||||
if(EnableSFTPClient == false)
|
if(EnableSFTPClient == false)
|
||||||
{
|
{
|
||||||
@ -22,6 +23,7 @@ int CSFTPServerManager::InitFTPServerManager(bool EnableSFTPClient, QString SFTP
|
|||||||
mSFTPServerAddress = SFTPServerAddress;
|
mSFTPServerAddress = SFTPServerAddress;
|
||||||
mSFTPRemoteDir = SFTPRemoteDir;
|
mSFTPRemoteDir = SFTPRemoteDir;
|
||||||
mFilenamePrefix = FilenamePrefix;
|
mFilenamePrefix = FilenamePrefix;
|
||||||
|
mCopyEngLog = CopyEngLog;
|
||||||
|
|
||||||
mProcessTimer = new QTimer;
|
mProcessTimer = new QTimer;
|
||||||
mProcessTimer->setSingleShot(true);
|
mProcessTimer->setSingleShot(true);
|
||||||
@ -81,7 +83,15 @@ int CSFTPServerManager::TransferTrainLogToSFTPServer(QString FileName, bool Dete
|
|||||||
QString BatchCmds;
|
QString BatchCmds;
|
||||||
BatchCmds.clear();
|
BatchCmds.clear();
|
||||||
|
|
||||||
BatchCmds.append(QString("put %1 %2").arg(OriginFilePath).arg(DestFilePath));
|
BatchCmds.append(QString("put %1 %2\n").arg(OriginFilePath).arg(DestFilePath));
|
||||||
|
QString DestLogFileName = QString("%1%2-LogZT.txt").arg(mSFTPRemoteDir).arg(mFilenamePrefix);
|
||||||
|
BatchCmds.append(QString("put ./LOG/LogZT.txt %1").arg(DestLogFileName));
|
||||||
|
if(mCopyEngLog == true)
|
||||||
|
{
|
||||||
|
DestLogFileName = QString("%1%2-IngLog.txt").arg(mSFTPRemoteDir).arg(mFilenamePrefix);
|
||||||
|
BatchCmds.append(QString("\n"));
|
||||||
|
BatchCmds.append(QString("put ./ING/IngLog.txt %1").arg(DestLogFileName));
|
||||||
|
}
|
||||||
|
|
||||||
SFTPBatchFile->write(qPrintable(BatchCmds));
|
SFTPBatchFile->write(qPrintable(BatchCmds));
|
||||||
SFTPBatchFile->close();
|
SFTPBatchFile->close();
|
||||||
@ -100,7 +110,7 @@ int CSFTPServerManager::TransferTrainLogToSFTPServer(QString FileName, bool Dete
|
|||||||
}
|
}
|
||||||
|
|
||||||
mTransferProcess->start(Cmd);
|
mTransferProcess->start(Cmd);
|
||||||
mProcessTimer->start(PROCESS_TIMEOUT); //Allow some time to copy the file
|
mProcessTimer->start(SFTP_PROCESS_TIMEOUT); //Allow some time to copy the file
|
||||||
|
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
@ -113,8 +123,8 @@ void CSFTPServerManager::NewTrainFileSaved(QString Filename, bool Detection)
|
|||||||
|
|
||||||
void CSFTPServerManager::ProcessFinished(int ExitCode, QProcess::ExitStatus ExitStatus)
|
void CSFTPServerManager::ProcessFinished(int ExitCode, QProcess::ExitStatus ExitStatus)
|
||||||
{
|
{
|
||||||
qDebug("Process SFTP terminé. Exit code - status %d - %d || Output %s || Erreur %s",ExitCode,ExitStatus,qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError()));
|
CEngLog::instance()->AddLogString(QString("Process SFTP terminé. Exit code: %1 || Exit status: %2 || Output: %3 || Erreur: %4 || stdout: %5").arg(ExitCode).arg(ExitStatus).arg(qPrintable(mTransferProcess->readAllStandardOutput())).arg(qPrintable(mTransferProcess->readAllStandardError())).arg(qPrintable(mTransferProcess->readAll())));
|
||||||
qDebug("stdout: %s",qPrintable(mTransferProcess->readAll()));
|
// qDebug("stdout: %s",qPrintable(mTransferProcess->readAll()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSFTPServerManager::ProcessTimerExpired()
|
void CSFTPServerManager::ProcessTimerExpired()
|
||||||
@ -122,6 +132,6 @@ void CSFTPServerManager::ProcessTimerExpired()
|
|||||||
if(mTransferProcess->state() != QProcess::NotRunning)
|
if(mTransferProcess->state() != QProcess::NotRunning)
|
||||||
{
|
{
|
||||||
mTransferProcess->terminate();
|
mTransferProcess->terminate();
|
||||||
qDebug("Timer du process SFTP expiré Output %s || Erreur %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError()));
|
CEngLog::instance()->AddLogString(QString("Timer du process SFTP expiré Output: %1 || Erreur: %s").arg(qPrintable(mTransferProcess->readAllStandardOutput())).arg(qPrintable(mTransferProcess->readAllStandardError())),2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
//#define USE_SCP
|
//#define USE_SCP
|
||||||
#define PROCESS_TIMEOUT 2000 //millisecs
|
#define SFTP_PROCESS_TIMEOUT 2000 //millisecs
|
||||||
|
|
||||||
class CSFTPServerManager : public QObject
|
class CSFTPServerManager : public QObject
|
||||||
{
|
{
|
||||||
@ -15,7 +15,7 @@ public:
|
|||||||
CSFTPServerManager();
|
CSFTPServerManager();
|
||||||
|
|
||||||
~CSFTPServerManager();
|
~CSFTPServerManager();
|
||||||
int InitFTPServerManager(bool EnableSFTPClient, QString SFTPLogin, QString SFTPPassword, QString SFTPServerAddress, QString SFTPRemoteDir, QString FilenamePrefix);
|
int InitFTPServerManager(bool EnableSFTPClient, QString SFTPLogin, QString SFTPPassword, QString SFTPServerAddress, QString SFTPRemoteDir, QString FilenamePrefix, bool CopyEngLog);
|
||||||
int TransferTrainLogToSFTPServer(QString Filename, bool Detection);
|
int TransferTrainLogToSFTPServer(QString Filename, bool Detection);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -25,6 +25,7 @@ private:
|
|||||||
QString mSFTPServerAddress;
|
QString mSFTPServerAddress;
|
||||||
QString mSFTPRemoteDir;
|
QString mSFTPRemoteDir;
|
||||||
QString mFilenamePrefix;
|
QString mFilenamePrefix;
|
||||||
|
bool mCopyEngLog;
|
||||||
|
|
||||||
|
|
||||||
QProcess *mTransferProcess;
|
QProcess *mTransferProcess;
|
||||||
|
|||||||
@ -107,103 +107,103 @@ unsigned int CSimulationScenario::CreateScenario()
|
|||||||
/// //ZT2
|
/// //ZT2
|
||||||
|
|
||||||
|
|
||||||
InsertNewStep(STEP_ACTION_REGISTER_ZT2_ITI,300);
|
// InsertNewStep(STEP_ACTION_REGISTER_ZT2_ITI,300);
|
||||||
InsertNewStep(STEP_ACTION_OCCUPY_ZT2,300);
|
// InsertNewStep(STEP_ACTION_OCCUPY_ZT2,300);
|
||||||
|
|
||||||
for(int bogie = 1; bogie <= 18; bogie++)
|
// for(int bogie = 1; bogie <= 18; bogie++)
|
||||||
{
|
// {
|
||||||
InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
||||||
InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
||||||
|
|
||||||
// if(bogie == 5 || bogie == 2)
|
// // if(bogie == 5 || bogie == 2)
|
||||||
{
|
// {
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPE,5);
|
// // InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPE,5);
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPE,1);
|
// // InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPE,1);
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
// if(bogie == 3 || bogie == 10)
|
// // if(bogie == 3 || bogie == 10)
|
||||||
{
|
// {
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPI,3);
|
//// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_PPI,3);
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPI,1);
|
//// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_PPI,1);
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
//if(bogie != 3)
|
// //if(bogie != 3)
|
||||||
{
|
// {
|
||||||
InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_ZT2_S1,SENSOR_DELAY);
|
||||||
InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_ZT2_S1,BOGIE_DELAY);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
InsertNewStep(STEP_ACTION_DESTROY_ZT2_ITI,800);
|
// InsertNewStep(STEP_ACTION_DESTROY_ZT2_ITI,800);
|
||||||
InsertNewStep(STEP_ACTION_FREE_ZT2,800);
|
// InsertNewStep(STEP_ACTION_FREE_ZT2,800);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//// MR
|
//// MR
|
||||||
// // InsertNewStep(STEP_ACTION_REGISTER_ZT1_ITI,300);
|
// InsertNewStep(STEP_ACTION_REGISTER_ZT1_ITI,300);
|
||||||
// InsertNewStep(STEP_ACTION_OCCUPY_ZT1_APPROACH,300);
|
InsertNewStep(STEP_ACTION_OCCUPY_ZT1_APPROACH,300);
|
||||||
// InsertNewStep(STEP_ACTION_OCCUPY_ZT1,300);
|
InsertNewStep(STEP_ACTION_OCCUPY_ZT1,300);
|
||||||
|
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||||
|
|
||||||
// for(int bogie = 1; bogie <= 18; bogie++)
|
for(int bogie = 1; bogie <= 18; bogie++)
|
||||||
// {
|
{
|
||||||
// // if(bogie != 5 && bogie != 7)
|
// if(bogie != 5 && bogie != 7)
|
||||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
||||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
||||||
////V00 DETECTION
|
//V00 DETECTION
|
||||||
//// if(bogie != 9)
|
// if(bogie != 9)
|
||||||
//// {
|
// {
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
||||||
//// }
|
// }
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
||||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
||||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||||
|
|
||||||
////FN DETECTION
|
//FN DETECTION
|
||||||
// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_FN,0);
|
InsertNewStep(STEP_ACTION_ACTIVATE_FN,0);
|
||||||
|
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
InsertNewStep(STEP_ACTION_ACTIVATE_S1,SENSOR_DELAY);
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
InsertNewStep(STEP_ACTION_DEACTIVATE_S1,BOGIE_DELAY);
|
||||||
|
|
||||||
////PPI DETECTION
|
//PPI DETECTION
|
||||||
//// if(bogie == 6 || bogie == 9)
|
// if(bogie == 6 || bogie == 9)
|
||||||
//// InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_PPI,0);
|
||||||
|
|
||||||
////FN DETECTION
|
//FN DETECTION
|
||||||
// if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
if(bogie != 7 /*&& bogie != 8 && bogie != 3*/)
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0);
|
InsertNewStep(STEP_ACTION_DEACTIVATE_FN,0);
|
||||||
|
|
||||||
//// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
||||||
|
|
||||||
////PPI DETECTION
|
//PPI DETECTION
|
||||||
//// if(bogie == 6 || bogie == 9)
|
// if(bogie == 6 || bogie == 9)
|
||||||
//// InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_PPI,0);
|
||||||
|
|
||||||
// // if(bogie != 2 && bogie != 11)
|
// if(bogie != 2 && bogie != 11)
|
||||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_PGI,0);
|
||||||
// // if(bogie != 2 && bogie != 11)
|
// if(bogie != 2 && bogie != 11)
|
||||||
// // InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
// InsertNewStep(STEP_ACTION_ACTIVATE_PGE,0);
|
||||||
// InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
InsertNewStep(STEP_ACTION_ACTIVATE_S2,SENSOR_DELAY);
|
||||||
// InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
InsertNewStep(STEP_ACTION_DEACTIVATE_S2,BOGIE_DELAY);
|
||||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGI,0);
|
||||||
// // InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
// InsertNewStep(STEP_ACTION_DEACTIVATE_PGE,0);
|
||||||
|
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
// InsertNewStep(STEP_ACTION_DESTROY_ZT1_ITI,800);
|
InsertNewStep(STEP_ACTION_DESTROY_ZT1_ITI,800);
|
||||||
|
|
||||||
// InsertNewStep(STEP_ACTION_FREE_ZT1,800);
|
InsertNewStep(STEP_ACTION_FREE_ZT1,800);
|
||||||
|
|
||||||
// InsertNewStep(STEP_ACTION_FREE_ZT1_APPROACH,800);
|
InsertNewStep(STEP_ACTION_FREE_ZT1_APPROACH,800);
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,6 +63,9 @@ CZTConfigMgr::CZTConfigMgr()
|
|||||||
//SAMBA drive parameters
|
//SAMBA drive parameters
|
||||||
mActivateSAMBADrive = false;
|
mActivateSAMBADrive = false;
|
||||||
mSAMBADomain.clear();
|
mSAMBADomain.clear();
|
||||||
|
|
||||||
|
//SFTP server parameters
|
||||||
|
mActivateSFTPClient = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ZTConfigResult CZTConfigMgr::LoadZTConfig()
|
ZTConfigResult CZTConfigMgr::LoadZTConfig()
|
||||||
|
|||||||
@ -660,7 +660,8 @@ unsigned int CZoneTest::InitZT()
|
|||||||
QString SFTPPassword = CZTConfigMgr::instance()->GetSFTPPassword();
|
QString SFTPPassword = CZTConfigMgr::instance()->GetSFTPPassword();
|
||||||
QString SFTPServerAddress = CZTConfigMgr::instance()->GetSFTPServerAddress();
|
QString SFTPServerAddress = CZTConfigMgr::instance()->GetSFTPServerAddress();
|
||||||
QString SFTPRemoteDir = CZTConfigMgr::instance()->GetSFTPServerRemoteDir();
|
QString SFTPRemoteDir = CZTConfigMgr::instance()->GetSFTPServerRemoteDir();
|
||||||
mSFTPManager.InitFTPServerManager(EnableSFTPClient,SFTPLogin,SFTPPassword,SFTPServerAddress,SFTPRemoteDir,mZTStation->GetStationShortName());
|
bool UseEngLog = CZTConfigMgr::instance()->GetEngLog() != -1;
|
||||||
|
mSFTPManager.InitFTPServerManager(EnableSFTPClient,SFTPLogin,SFTPPassword,SFTPServerAddress,SFTPRemoteDir,mZTStation->GetStationShortName(),UseEngLog);
|
||||||
if(EnableSFTPClient == true)
|
if(EnableSFTPClient == true)
|
||||||
{
|
{
|
||||||
connect(mZTStateMachine,SIGNAL(NewTrainLogSaved(QString,bool)),&mSFTPManager,SLOT(NewTrainFileSaved(QString,bool)));
|
connect(mZTStateMachine,SIGNAL(NewTrainLogSaved(QString,bool)),&mSFTPManager,SLOT(NewTrainFileSaved(QString,bool)));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user