Drive SAMBA, correction de bugs

This commit is contained in:
jfmartel 2023-05-07 07:54:06 -04:00
parent 07f31a7e28
commit e81602d763
9 changed files with 72 additions and 17 deletions

View File

@ -97,8 +97,19 @@ STATION=COTE_VERTU
#Activation de la copie des fichiers sur le réseau (OUI ou NON) #Activation de la copie des fichiers sur le réseau (OUI ou NON)
ACTIVER_SAMBA=OUI ACTIVER_SAMBA=OUI
#Path du dossier cible sur le réseau #Path du dossier cible sur le réseau
NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT #NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT
#Login pour accéder au drive #Login pour accéder au drive
NETWORK_SHALRE_LOGIN=metro\service.ct #NETWORK_SHARE_LOGIN=metro\service.ct
#Mot de passe pour accéder au drive #Mot de passe pour accéder au drive
NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240?TraNsf3Rt@ #NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240TraNsf3Rt
#Nom de domaine du drive réseau. Commenter si aucun nom de domaine ne doit être spécifié
#NETWORK_SHARE_DOMAIN=METRO
#Path du dossier cible sur le réseau
NETWORK_SHARE_PATH=//192.168.50.110/TestZT
#Login pour accéder au drive
NETWORK_SHARE_LOGIN=JF
#Mot de passe pour accéder au drive
NETWORK_SHARE_PASSWORD=signal77240
#Nom de domaine du drive réseau
NETWORK_SHARE_DOMAIN=METRO

View File

@ -87,9 +87,11 @@ ACTIVER_SAMBA=OUI
#Path du dossier cible sur le réseau #Path du dossier cible sur le réseau
NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT NETWORK_SHARE_PATH=//10.133.3.136/Transfert$/vers_corpo/CT
#Login pour accéder au drive #Login pour accéder au drive
NETWORK_SHALRE_LOGIN=metro\service.ct NETWORK_SHARE_LOGIN=metro\service.ct
#Mot de passe pour accéder au drive #Mot de passe pour accéder au drive
NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240?TraNsf3Rt@ NETWORK_SHARE_PASSWORD=SigN4lisat10n!77240TraNsf3Rt
#Nom de domaine du drive réseau. Commenter si aucun nom de domaine ne doit être spécifié
#NETWORK_SHARE_DOMAIN=METRO
\n" >> $CONFIG_FILE_PATH \n" >> $CONFIG_FILE_PATH
echo "Modification du fichier de configuration OK" echo "Modification du fichier de configuration OK"

BIN
ZT

Binary file not shown.

View File

@ -124,8 +124,13 @@ CGeneralSettingsPage::CGeneralSettingsPage(QGraphicsWidget *Parent)
} }
void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime) void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime, bool DisableSignal)
{ {
if(DisableSignal == true)
{
disconnect(mUseNetworkTimeChkBx,SIGNAL(stateChanged(int)),this,SLOT(NetworkTimeChkBxClicked(int)));
}
if(UseNetworkTime == true) if(UseNetworkTime == true)
{ {
mUseNetworkTimeChkBx->setChecked(Qt::Checked); mUseNetworkTimeChkBx->setChecked(Qt::Checked);
@ -136,6 +141,12 @@ void CGeneralSettingsPage::UseNetworkTime(bool UseNetworkTime)
mUseNetworkTimeChkBx->setChecked(Qt::Unchecked); mUseNetworkTimeChkBx->setChecked(Qt::Unchecked);
mApplyDateTimeBtn->show(); mApplyDateTimeBtn->show();
} }
if(DisableSignal == true)
{
connect(mUseNetworkTimeChkBx,SIGNAL(stateChanged(int)),this,SLOT(NetworkTimeChkBxClicked(int)));
}
} }
void CGeneralSettingsPage::resizeEvent(QGraphicsSceneResizeEvent *event) void CGeneralSettingsPage::resizeEvent(QGraphicsSceneResizeEvent *event)

View File

@ -52,7 +52,7 @@ public:
CZoneTest *mProgramHandle; CZoneTest *mProgramHandle;
void UseNetworkTime(bool UseNetworkTime); void UseNetworkTime(bool UseNetworkTime, bool DisableSignal = false);
virtual void resizeEvent(QGraphicsSceneResizeEvent *event); virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);

View File

@ -2,6 +2,8 @@
#include <QFile> #include <QFile>
#include "GlobalDefine.h" #include "GlobalDefine.h"
#include <QDate> #include <QDate>
#include <ZTLog.h>
#include <EngLog.h>
@ -33,6 +35,7 @@ CNetDriveMgr::CNetDriveMgr(QObject *parent) :
CNetDriveMgr::~CNetDriveMgr() CNetDriveMgr::~CNetDriveMgr()
{ {
UnMountNetworkDrive();
delete mProcessTimer; delete mProcessTimer;
delete mTransferProcess; delete mTransferProcess;
} }
@ -226,6 +229,7 @@ int CNetDriveMgr::NetworkDriveStateMachine(int Event)
case NET_DRIVE_SM_PROCESS_TIMER_EXPIRED_EVENT: case NET_DRIVE_SM_PROCESS_TIMER_EXPIRED_EVENT:
{ {
qDebug("Failed to mount network drive within allowed period. Will retry later %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError())); qDebug("Failed to mount network drive within allowed period. Will retry later %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError()));
CEngLog::instance()->AddLogString(QString("Failed to mount network drive within allowed period. Will retry later %1 @ %2").arg(QString(mTransferProcess->readAllStandardOutput()).arg(QString(qPrintable(mTransferProcess->readAllStandardError())))));
QString stdout = QString(mTransferProcess->readAllStandardOutput()); QString stdout = QString(mTransferProcess->readAllStandardOutput());
QString stderr = QString(mTransferProcess->readAllStandardError()); QString stderr = QString(mTransferProcess->readAllStandardError());
@ -239,18 +243,24 @@ int CNetDriveMgr::NetworkDriveStateMachine(int Event)
} }
case NET_DRIVE_SM_PROCESS_FINISHED_EVENT: case NET_DRIVE_SM_PROCESS_FINISHED_EVENT:
{ {
QString StdOut = mTransferProcess->readAllStandardOutput(); //QString StdOut = mTransferProcess->readAllStandardOutput();
qDebug("%s",qPrintable(StdOut)); //CEngLog::instance()->AddLogString(StdOut);
// qDebug("%s",qPrintable(StdOut));
mProcessTimer->stop(); mProcessTimer->stop();
if(IsNetworkDriveMounted()) if(IsNetworkDriveMounted())
{ {
qDebug("Drive mounted successfuly"); CZTLog::instance()->AddLogString("Répertoire réseau monté avec succès");
// qDebug("Drive mounted successfuly");
mNetDriveSMState = NET_DRIVE_STANDBY_STATE; mNetDriveSMState = NET_DRIVE_STANDBY_STATE;
} }
else else
{ {
qDebug("Mount command failed: %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError())); QString Line = QString("Echec de la commande mount : %1 - %2").arg(QString(mTransferProcess->readAllStandardOutput())).arg(QString(mTransferProcess->readAllStandardError()));
CEngLog::instance()->AddLogString(Line,1);
// qDebug("Mount command failed: %s @ %s",qPrintable(mTransferProcess->readAllStandardOutput()),qPrintable(mTransferProcess->readAllStandardError()));
mNetDriveSMState = NET_DRIVE_RETRY_MOUNTING_STATE; mNetDriveSMState = NET_DRIVE_RETRY_MOUNTING_STATE;
mProcessTimer->start(MOUNT_TIMEOUT); mProcessTimer->start(MOUNT_TIMEOUT);
} }
@ -267,7 +277,8 @@ int CNetDriveMgr::NetworkDriveStateMachine(int Event)
{ {
case NET_DRIVE_SM_PROCESS_TIMER_EXPIRED_EVENT: case NET_DRIVE_SM_PROCESS_TIMER_EXPIRED_EVENT:
{ {
qDebug("Retrying to mount net drive"); CEngLog::instance()->AddLogString("Tentative de remonter le drive réseau");
// qDebug("Retrying to mount net drive");
MountNetworkDrive(); MountNetworkDrive();
break; break;
} }
@ -291,7 +302,8 @@ void CNetDriveMgr::ProcessFinished(int exitCode, QProcess::ExitStatus exitStatus
Q_UNUSED(exitCode) Q_UNUSED(exitCode)
Q_UNUSED(exitStatus) Q_UNUSED(exitStatus)
qDebug("Process finished %d - %d",exitCode,exitStatus); CEngLog::instance()->AddLogString(QString("Process finished %1 - %2").arg(exitCode).arg(exitStatus));
// qDebug("Process finished %d - %d",exitCode,exitStatus);
NetworkDriveStateMachine(NET_DRIVE_SM_PROCESS_FINISHED_EVENT); NetworkDriveStateMachine(NET_DRIVE_SM_PROCESS_FINISHED_EVENT);
} }
@ -327,6 +339,7 @@ int CNetDriveMgr::MountNetworkDrive()
if(IsNetworkDriveMounted()) if(IsNetworkDriveMounted())
{ {
CZTLog::instance()->AddLogString("Répertoire réseau déjà monté");
qDebug("Network drive already mounted, aborting mount operation"); qDebug("Network drive already mounted, aborting mount operation");
mNetDriveSMState = NET_DRIVE_STANDBY_STATE; mNetDriveSMState = NET_DRIVE_STANDBY_STATE;
return RET_ERROR; //drive already mounted. return RET_ERROR; //drive already mounted.
@ -334,6 +347,7 @@ int CNetDriveMgr::MountNetworkDrive()
if(IsNetworkDriveAvailable() == false) //Network is disconnected... retry later. if(IsNetworkDriveAvailable() == false) //Network is disconnected... retry later.
{ {
CEngLog::instance()->AddLogString("Interface réseau ETH0 déconnectée. Impossible de monter le NAS");
qDebug("Network interface not connected. Cannot mount network drive. Will retry later"); qDebug("Network interface not connected. Cannot mount network drive. Will retry later");
mNetDriveSMState = NET_DRIVE_RETRY_MOUNTING_STATE; mNetDriveSMState = NET_DRIVE_RETRY_MOUNTING_STATE;
mProcessTimer->start(MOUNT_TIMEOUT); mProcessTimer->start(MOUNT_TIMEOUT);
@ -341,13 +355,16 @@ int CNetDriveMgr::MountNetworkDrive()
} }
//sudo mount -t cifs -o domain=TID,user=JF,password=signal77240,vers=2.1 //192.168.50.110/TestZT /home/zonetest/ZT/NetDrive //sudo mount -t cifs -o domain=TID,user=JF,password=signal77240,vers=2.1 //192.168.50.110/TestZT /home/zonetest/ZT/NetDrive
CEngLog::instance()->AddLogString("Montage du drive réseau");
qDebug("Trying to mount network drive"); qDebug("Trying to mount network drive");
QString Cmd; QString Cmd;
if(mRemoteDriveDomain.isEmpty()) if(mRemoteDriveDomain.isEmpty())
Cmd = QString("mount -t cifs -o user=%2,password=%3,vers=2.1 %4 %5").arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT); Cmd = QString("mount -t cifs -o user=%1,password=%2,vers=2.1 %3 %4").arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT);
else else
Cmd = QString("mount -t cifs -o domain=%1,user=%2,password=%3,vers=2.1 %4 %5").arg(mRemoteDriveDomain).arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT); Cmd = QString("mount -t cifs -o domain=%1,user=%2,password=%3,vers=2.1 %4 %5").arg(mRemoteDriveDomain).arg(mRemoteDriveLogin).arg(mRemoteDrivePassword).arg(mRemoteDriveAccessPath).arg(NAS_MOUNT_POINT);
CEngLog::instance()->AddLogString(Cmd);
qDebug("%s",qPrintable(Cmd));
mTransferProcess->start(Cmd); mTransferProcess->start(Cmd);
mNetDriveSMState = NET_DRIVE_MOUNTING_STATE; mNetDriveSMState = NET_DRIVE_MOUNTING_STATE;
mProcessTimer->start(MOUNT_TIMEOUT); mProcessTimer->start(MOUNT_TIMEOUT);

View File

@ -62,6 +62,7 @@ CZTConfigMgr::CZTConfigMgr()
//SAMBA drive parameters //SAMBA drive parameters
mActivateSAMBADrive = false; mActivateSAMBADrive = false;
mSAMBADomain.clear();
} }
ZTConfigResult CZTConfigMgr::LoadZTConfig() ZTConfigResult CZTConfigMgr::LoadZTConfig()
@ -271,7 +272,7 @@ ZTConfigResult CZTConfigMgr::LoadZTConfig()
} }
else if(string.mid(pos) == "NON") else if(string.mid(pos) == "NON")
{ {
mActivateSAMBADrive = true; mActivateSAMBADrive = false;
CEngLog::instance()->AddLogString(QString().sprintf("Copie sur répertoire SAMBA désactivée"),1); CEngLog::instance()->AddLogString(QString().sprintf("Copie sur répertoire SAMBA désactivée"),1);
} }
} }
@ -290,6 +291,11 @@ ZTConfigResult CZTConfigMgr::LoadZTConfig()
mSAMBAPassword = string.mid(pos); mSAMBAPassword = string.mid(pos);
CEngLog::instance()->AddLogString(QString("Password SAMBA: %1").arg(mSAMBAPassword),1); CEngLog::instance()->AddLogString(QString("Password SAMBA: %1").arg(mSAMBAPassword),1);
} }
else if(string.contains("NETWORK_SHARE_DOMAIN"))
{
mSAMBADomain = string.mid(pos);
CEngLog::instance()->AddLogString(QString("Domaine SAMBA: %1").arg(mSAMBADomain),1);
}
} }
} }
} }
@ -384,3 +390,8 @@ QString CZTConfigMgr::GetSAMBAPassword()
{ {
return mSAMBAPassword; return mSAMBAPassword;
} }
QString CZTConfigMgr::GetSAMBADomain()
{
return mSAMBADomain;
}

View File

@ -101,6 +101,7 @@ public:
QString GetSAMBAMountPoint(); QString GetSAMBAMountPoint();
QString GetSAMBALogin(); QString GetSAMBALogin();
QString GetSAMBAPassword(); QString GetSAMBAPassword();
QString GetSAMBADomain();
@ -132,6 +133,7 @@ private:
QString mSAMBAMountPoint; QString mSAMBAMountPoint;
QString mSAMBALogin; QString mSAMBALogin;
QString mSAMBAPassword; QString mSAMBAPassword;
QString mSAMBADomain;
}; };
#endif // ZTCONFIGMGR_H #endif // ZTCONFIGMGR_H

View File

@ -646,7 +646,8 @@ unsigned int CZoneTest::InitZT()
QString SAMBAMountPoint = CZTConfigMgr::instance()->GetSAMBAMountPoint(); QString SAMBAMountPoint = CZTConfigMgr::instance()->GetSAMBAMountPoint();
QString SAMBALogin = CZTConfigMgr::instance()->GetSAMBALogin(); QString SAMBALogin = CZTConfigMgr::instance()->GetSAMBALogin();
QString SAMBAPassword = CZTConfigMgr::instance()->GetSAMBAPassword(); QString SAMBAPassword = CZTConfigMgr::instance()->GetSAMBAPassword();
mNetworkDriveMgr.InitNetDriveMgr(UseNetworkDrive,SAMBAMountPoint,SAMBALogin,SAMBAPassword,"",mZTStation->GetStationShortName()); QString SAMBADomain = CZTConfigMgr::instance()->GetSAMBADomain();
mNetworkDriveMgr.InitNetDriveMgr(UseNetworkDrive,SAMBAMountPoint,SAMBALogin,SAMBAPassword,SAMBADomain,mZTStation->GetStationShortName());
// mNetworkDriveMgr.InitNetDriveMgr(true,"//192.168.50.50/TestZT","JF","signal77240","",mZTStation->GetStationShortName()); // mNetworkDriveMgr.InitNetDriveMgr(true,"//192.168.50.50/TestZT","JF","signal77240","",mZTStation->GetStationShortName());
@ -732,7 +733,7 @@ unsigned int CZoneTest::InitZT()
mWelcomePagePtr->InsertTextBoxString(QString("Chargement des fichiers de passage de trains: OK")); mWelcomePagePtr->InsertTextBoxString(QString("Chargement des fichiers de passage de trains: OK"));
mZTStateMachine->SetAutoExportZT1CSV(mZTSettings->mAutoExportZT1CSV); mZTStateMachine->SetAutoExportZT1CSV(mZTSettings->mAutoExportZT1CSV);
mZTStateMachine->SetAutoExportZT2CSV(mZTSettings->mAutoExportZT2CSV); mZTStateMachine->SetAutoExportZT2CSV(mZTSettings->mAutoExportZT2CSV);
panel.mGeneralSettingsPage->UseNetworkTime(mZTSettings->mUseNetworkTime); panel.mGeneralSettingsPage->UseNetworkTime(mZTSettings->mUseNetworkTime,true);
panel.mLogsListPage->BindPointers(mUSBDriveInterface); panel.mLogsListPage->BindPointers(mUSBDriveInterface);
mUSBDriveInterface->Start(); mUSBDriveInterface->Start();
// if(mDI710Module != 0) // if(mDI710Module != 0)