void uiLoader::setupFTP() { qDebug( " ========== Setting up FTP environment" ); // create dirs on ftp server ftpMkDir( ftpBaseDir ); ftpBaseDir += "/" + QLibraryInfo::buildKey(); ftpMkDir( ftpBaseDir ); ftpBaseDir += "/" + QString( qVersion() ); ftpMkDir( ftpBaseDir ); QString dir = ""; ftpList(ftpBaseDir + '/' + dir); QList<QString> dirListing(lsDirList); // create *.failed, *.diff if necessary, else remove the files in it // if *.baseline does not exist, memorize it QHashIterator<QString, QString> j(enginesToTest); while ( j.hasNext() ) { j.next(); QString curDir = QString( j.key() ) + ".failed"; if ( dirListing.contains( curDir ) ) { ftpClearDirectory(ftpBaseDir + "/" + curDir + "/"); } else { ftpMkDir(ftpBaseDir + "/" + curDir + "/"); } curDir = QString( j.key() ) + ".diff"; if ( dirListing.contains( curDir ) ) { ftpClearDirectory(ftpBaseDir + "/" + curDir + "/"); } else { ftpMkDir(ftpBaseDir + "/" + curDir + "/"); } curDir = QString( j.key() ) + ".baseline"; lsNeedBaseline.clear(); if ( !dirListing.contains( curDir ) ) { ftpMkDir(ftpBaseDir + "/" + curDir + "/"); lsNeedBaseline << j.key(); } else { qDebug() << "\t(I)" << curDir << "exists on server."; } } }
// returns false if no baseline exists bool atWrapper::setupFTP() { qDebug( "Setting up FTP environment" ); QString dir = ""; ftpMkDir( ftpBaseDir ); ftpBaseDir += "/" + QLibraryInfo::buildKey(); ftpMkDir( ftpBaseDir ); ftpBaseDir += "/" + QString( qVersion() ); ftpMkDir( ftpBaseDir ); QHashIterator<QString, QString> i(enginesToTest); QHashIterator<QString, QString> j(enginesToTest); bool haveBaseline = true; //Creating the baseline directories for each engine while ( i.hasNext() ) { i.next(); //qDebug() << "Creating dir with key:" << i.key(); ftpMkDir( ftpBaseDir + "/" + QString( i.key() ) + ".failed" ); ftpMkDir( ftpBaseDir + "/" + QString( i.key() ) + ".diff" ); if (!ftpMkDir( ftpBaseDir + "/" + QString( i.key() ) + ".baseline" )) haveBaseline = false; } QFtp ftp; ftp.connectToHost( ftpHost ); ftp.login( ftpUser, ftpPass ); ftp.cd( ftpBaseDir ); //Deleting previous failed directory and all the files in it, then recreating it. while ( j.hasNext() ) { j.next(); rmDirList.clear(); rmDirList << ftpBaseDir + "/" + j.key() + ".failed" + "/"; ftpRmDir( j.key() + ".failed" ); ftp.rmdir( j.key() + ".failed" ); ftp.mkdir( j.key() + ".failed" ); ftp.list(); while ( ftp.hasPendingCommands() ) QCoreApplication::instance()->processEvents(); rmDirList.clear(); rmDirList << ftpBaseDir + "/" + j.key() + ".diff" + "/"; ftpRmDir( j.key() + ".diff" ); ftp.rmdir( j.key() + ".diff" ); ftp.mkdir( j.key() + ".diff" ); ftp.list(); while ( ftp.hasPendingCommands() ) QCoreApplication::instance()->processEvents(); } ftp.close(); while ( ftp.hasPendingCommands() ) QCoreApplication::instance()->processEvents(); return haveBaseline; }