Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
gbook committed May 8, 2024
1 parent ce76cc5 commit 4583212
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 80 deletions.
18 changes: 10 additions & 8 deletions src/nidb/archiveio.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2801,7 +2801,7 @@ bool archiveIO::WritePackage(qint64 exportid, QString zipfilepath, QString &msg)
}

/* PACKAGE - get the details, and create package object */
squirrel sqrl(true);
squirrel sqrl(n->debug);
q.prepare("select * from packages where package_id = :packageid");
q.bindValue(":packageid", packageid);
n->SQLQuery(q, __FUNCTION__, __FILE__, __LINE__,true);
Expand Down Expand Up @@ -3027,13 +3027,15 @@ bool archiveIO::WritePackage(qint64 exportid, QString zipfilepath, QString &msg)
if (sqrl.Write(false)) {
msg = sqrl.GetLog();

// if (FileDirectoryExists(localTempDir))
// if (RemoveDir(localTempDir, m))
// n->WriteLog(QString("Successfully removed localTempDir [%1]").arg(localTempDir));
// else
// n->WriteLog(QString("Error removing localTempDir [%1] - message [%2]").arg(localTempDir).arg(m));
// else
// n->WriteLog(QString("localTempDir [%1] does not exist").arg(localTempDir));
if (!n->debug) {
if (FileDirectoryExists(localTempDir))
if (RemoveDir(localTempDir, m))
n->WriteLog(QString("Successfully removed localTempDir [%1]").arg(localTempDir));
else
n->WriteLog(QString("Error removing localTempDir [%1] - message [%2]").arg(localTempDir).arg(m));
else
n->WriteLog(QString("localTempDir [%1] does not exist").arg(localTempDir));
}

return true;
}
Expand Down
131 changes: 65 additions & 66 deletions src/squirrel/squirrel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,7 @@ squirrel::squirrel(bool dbg, bool q)

Log(QString("Created squirrel object."), __FUNCTION__);
if (debug)
Log("'debug' is set to true", __FUNCTION__);
else
Log("'debug' is set to false", __FUNCTION__);

Log("Next line should be a Debug() line", __FUNCTION__);
Debug("This line should be a Debug() line", __FUNCTION__);
Log("Previous line should be a Debug() line", __FUNCTION__);
Debug("Squirrel is running in debug mode", __FUNCTION__);
}


Expand Down Expand Up @@ -547,44 +541,45 @@ bool squirrel::Write(bool writeLog) {
/* copy all of the series files to the temp directory */
foreach (QString f, series.stagedFiles) {
QString systemstring = QString("cp -uv %1 %2").arg(f).arg(seriesPath);
Log(utils::SystemCommand(systemstring), __FUNCTION__);
Debug(utils::SystemCommand(systemstring), __FUNCTION__);
}
}
else if (study.Modality.toUpper() != "MR") {
Log(QString("Study modality is [%1]. Copying files...").arg(study.Modality.toUpper()), __FUNCTION__);
/* copy all of the series files to the temp directory */
foreach (QString f, series.stagedFiles) {
QString systemstring = QString("cp -uv %1 %2").arg(f).arg(seriesPath);
Log(utils::SystemCommand(systemstring), __FUNCTION__);
Debug(utils::SystemCommand(systemstring), __FUNCTION__);
}
}
else if ((DataFormat == "anon") || (DataFormat == "anonfull")) {
/* create temp directory for the anonymization */
QString td;
//MakeTempDir(td);
if (MakeTempDir(td)) {
/* copy all files to temp directory */
QString systemstring;
foreach (QString f, series.stagedFiles) {
systemstring = QString("cp -uv %1 %2").arg(f).arg(td);
Debug(utils::SystemCommand(systemstring), __FUNCTION__);
}

/* copy all files to temp directory */
QString systemstring;
foreach (QString f, series.stagedFiles) {
systemstring = QString("cp -uv %1 %2").arg(f).arg(td);
utils::SystemCommand(systemstring);
/* anonymize the directory */
squirrelImageIO io;
QString m;
if (DataFormat == "anon")
io.AnonymizeDir(td,1,"Anonymized","Anonymized",m);
else
io.AnonymizeDir(td,2,"Anonymized","Anonymized",m);

/* move the anonymized files to the staging area */
systemstring = QString("mv %1/* %2/").arg(td).arg(seriesPath);
Debug(utils::SystemCommand(systemstring), __FUNCTION__);

/* delete temp directory */
DeleteTempDir(td);
}

/* anonymize the directory */
squirrelImageIO io;
QString m;
if (DataFormat == "anon")
io.AnonymizeDir(td,1,"Anonymized","Anonymized",m);
else
io.AnonymizeDir(td,2,"Anonymized","Anonymized",m);

/* move the anonymized files to the staging area */
systemstring = QString("mv %1/* %2/").arg(td).arg(seriesPath);
utils::SystemCommand(systemstring);

/* delete temp directory */
QString m2;
utils::RemoveDir(td, m2);
Log("Error creating temp directory for DICOM anonymization", __FUNCTION__);
}
else if (DataFormat.contains("nifti")) {
int numConv(0), numRename(0);
Expand All @@ -596,16 +591,16 @@ bool squirrel::Write(bool writeLog) {

/* get path of first file to be converted */
if (series.stagedFiles.size() > 0) {
Log(QString("Converting [%1] files to nifti").arg(series.stagedFiles.size()), __FUNCTION__);
Log(QString("Converting %1 files to nifti").arg(series.stagedFiles.size()), __FUNCTION__);

QFileInfo f(series.stagedFiles[0]);
QString origSeriesPath = f.absoluteDir().absolutePath();
squirrelImageIO io;
QString m3;
if (!io.ConvertDicom(DataFormat, origSeriesPath, seriesPath, QDir::currentPath(), gzip, utils::CleanString(subject.ID), QString("%1").arg(study.StudyNumber), QString("%1").arg(series.SeriesNumber), "dicom", numConv, numRename, m3)) {
if (io.ConvertDicom(DataFormat, origSeriesPath, seriesPath, QDir::currentPath(), gzip, utils::CleanString(subject.ID), QString("%1").arg(study.StudyNumber), QString("%1").arg(series.SeriesNumber), "dicom", numConv, numRename, m3))
Debug(QString("ConvertDicom() returned [%1]").arg(m3), __FUNCTION__);
else
Log(QString("ConvertDicom() failed. Returned [%1]").arg(m3), __FUNCTION__);
}
Log(QString("ConvertDicom() returned [%1]").arg(m3), __FUNCTION__);
}
else {
Log(QString("Variable squirrelSeries.stagedFiles is empty. No files to convert to Nifti"), __FUNCTION__);
Expand Down Expand Up @@ -662,15 +657,10 @@ bool squirrel::Write(bool writeLog) {
JSONsubjects.append(subject.ToJSON());
}

/* add staged files to list */
//foreach (squirrelSubject subject, subjectses) {
// stagedFiles += subject.GetStagedFileList();
//}

/* add group-analyses */
QList <squirrelGroupAnalysis> groupAnalyses = GetAllGroupAnalyses();
if (groupAnalyses.size() > 0) {
Log(QString("Adding [%1] group-analyses...").arg(groupAnalyses.size()), __FUNCTION__);
Log(QString("Adding %1 group-analyses...").arg(groupAnalyses.size()), __FUNCTION__);
QJsonArray JSONgroupanalyses;
foreach (squirrelGroupAnalysis g, groupAnalyses) {
if (g.Get()) {
Expand All @@ -690,7 +680,7 @@ bool squirrel::Write(bool writeLog) {
/* add pipelines */
QList <squirrelPipeline> pipelines = GetAllPipelines();
if (pipelines.size() > 0) {
Log(QString("Adding [%1] pipelines...").arg(pipelines.size()), __FUNCTION__);
Log(QString("Adding %1 pipelines...").arg(pipelines.size()), __FUNCTION__);
QJsonArray JSONpipelines;
foreach (squirrelPipeline p, pipelines) {
if (p.Get()) {
Expand All @@ -706,7 +696,7 @@ bool squirrel::Write(bool writeLog) {
/* add experiments */
QList <squirrelExperiment> exps = GetAllExperiments();
if (exps.size() > 0) {
Log(QString("Adding [%1] experiments...").arg(exps.size()), __FUNCTION__);
Log(QString("Adding %1 experiments...").arg(exps.size()), __FUNCTION__);
QJsonArray JSONexperiments;
foreach (squirrelExperiment e, exps) {
if (e.Get()) {
Expand All @@ -722,7 +712,7 @@ bool squirrel::Write(bool writeLog) {
/* add data-dictionary */
QList <squirrelDataDictionary> dicts = GetAllDataDictionaries();
if (dicts.size() > 0) {
Log(QString("Adding [%1] data-dictionaries...").arg(dicts.size()), __FUNCTION__);
Log(QString("Adding %1 data-dictionaries...").arg(dicts.size()), __FUNCTION__);
QJsonArray JSONdataDictionaries;
foreach (squirrelDataDictionary d, dicts) {
if (d.Get()) {
Expand All @@ -745,7 +735,7 @@ bool squirrel::Write(bool writeLog) {
/* copy in all files from the staged files list */
Debug(QString("stagedFiles size is [%1]").arg(stagedFiles.size()), __FUNCTION__);
for (int i=0; i<stagedFiles.size(); i++) {
Log(QString("[%1] , [%2]").arg(stagedFiles.at(i).first).arg(stagedFiles.at(i).second), __FUNCTION__);
Debug(QString("[%1] , [%2]").arg(stagedFiles.at(i).first).arg(stagedFiles.at(i).second), __FUNCTION__);
}

for (int i=0; i<stagedFiles.size(); i++) {
Expand All @@ -761,9 +751,9 @@ bool squirrel::Write(bool writeLog) {
if (!utils::MakePath(destDir,m))
Log(QString("Error creating directory [%1] - message [%2]").arg(destDir).arg(m), __FUNCTION__);
else
Log(QString("Successfully created directory [%1] - message [%2]").arg(destDir).arg(m), __FUNCTION__);
Debug(QString("Successfully created directory [%1] - message [%2]").arg(destDir).arg(m), __FUNCTION__);

Log(QString("Copying [%1] to [%2]").arg(sourcePath).arg(destPath), __FUNCTION__);
Debug(QString("Copying [%1] to [%2]").arg(sourcePath).arg(destPath), __FUNCTION__);
if (!QFile::copy(sourcePath, destPath))
Log(QString("Error copying [%1] to [%2]").arg(sourcePath).arg(destPath), __FUNCTION__);
}
Expand All @@ -781,13 +771,8 @@ bool squirrel::Write(bool writeLog) {
qint64 zipSize = fi.size();
Log(QString("Finished zipping package [%1]. Size is [%2] bytes").arg(GetPackagePath()).arg(zipSize), __FUNCTION__);

/* delete the tmp dir, if it exists */
if (utils::DirectoryExists(workingDir)) {
Log("Temporary export dir [" + workingDir + "] exists and will be deleted", __FUNCTION__);
QString m;
//if (!utils::RemoveDir(workingDir, m))
// Log("Error [" + m + "] removing directory [" + workingDir + "]", __FUNCTION__);
}
/* delete the squirrel temp dir */
DeleteTempDir(workingDir);
}
else {
Log("Error creating zip file [" + GetPackagePath() + "] message [" + m + "]", __FUNCTION__);
Expand Down Expand Up @@ -1062,7 +1047,7 @@ void squirrel::PrintPackage() {
utils::Print(QString(" PackageName: %1").arg(PackageName));
utils::Print(QString(" SquirrelBuild: %1").arg(SquirrelBuild));
utils::Print(QString(" SquirrelVersion: %1").arg(SquirrelVersion));
utils::Print(QString(" Object count:\n %1 subjects\n +-- %4 measures\n +-- %5 drugs\n +-- %2 studies\n +---- %3 series\n +---- %6 analyses\n %7 experiments\n %8 pipelines\n %9 group analyses\n %10 data dictionary").arg(numSubjects).arg(numStudies).arg(numSeries).arg(numMeasures).arg(numDrugs).arg(numAnalyses).arg(numExperiments).arg(numPipelines).arg(numGroupAnalyses).arg(numDataDictionaries));
utils::Print(QString(" Objects:\n ├── %1 subjects\n │ ├── %4 measures\n │ ├── %5 drugs\n │ ├── %2 studies\n │ ├──── %3 series\n │ └──── %6 analyses\n ├── %7 experiments\n ├── %8 pipelines\n ├── %9 group analyses\n └── %10 data dictionary").arg(numSubjects).arg(numStudies).arg(numSeries).arg(numMeasures).arg(numDrugs).arg(numAnalyses).arg(numExperiments).arg(numPipelines).arg(numGroupAnalyses).arg(numDataDictionaries));
}


Expand Down Expand Up @@ -1094,6 +1079,27 @@ bool squirrel::MakeTempDir(QString &dir) {
}


/* ------------------------------------------------------------ */
/* ----- DeleteTempDir ---------------------------------------- */
/* ------------------------------------------------------------ */
/**
* @brief squirrel::DeleteTempDir
* @return true if created/exists, false otherwise
*/
bool squirrel::DeleteTempDir(QString dir) {
/* delete the tmp dir, if it exists */
if (utils::FileExists(dir)) {
Debug("Temporary directory [" + dir + "] exists and will be deleted", __FUNCTION__);
QString m;
if (!utils::RemoveDir(dir, m)) {
Log("Error [" + m + "] removing directory [" + dir + "]", __FUNCTION__);
return false;
}
}
return true;
}


/* ------------------------------------------------------------ */
/* ----- AddStagedFiles --------------------------------------- */
/* ------------------------------------------------------------ */
Expand Down Expand Up @@ -2237,43 +2243,36 @@ bool squirrel::ExtractFileFromArchive(QString archivePath, QString filePath, QSt
* @return true if successful, false otherwise
*/
bool squirrel::CompressDirectoryToArchive(QString dir, QString archivePath, QString &m) {
utils::Print("Inside CompressDirectoryToArchive()");
Log(QString("Compressing directory [%1] to archive [%2]...").arg(dir).arg(archivePath), __FUNCTION__);

//if (archivePath.last(1) != "/")
// archivePath += "/";

try {
using namespace bit7z;
#ifdef Q_OS_WINDOWS
Bit7zLibrary lib("C:/Program Files/7-Zip/7z.dll");
#else
utils::Print("Checkpoint A");
Bit7zLibrary lib("/usr/libexec/p7zip/7z.so");
utils::Print("Checkpoint B");
#endif
utils::Print("Checkpoint C");
if (archivePath.endsWith(".zip", Qt::CaseInsensitive)) {
BitArchiveWriter archive(lib, BitFormat::Zip);
//archive.setOverwriteMode(OverwriteMode::Overwrite);
archive.setUpdateMode(UpdateMode::Update);
archive.addDirectory(dir.toStdString());
archive.compressTo(archivePath.toStdString());
}
else {
utils::Print("Checkpoint D");
BitArchiveWriter archive(lib, BitFormat::SevenZip);
utils::Print("Checkpoint E");
//archive.setOverwriteMode(OverwriteMode::Overwrite);
archive.setUpdateMode(UpdateMode::Update);
utils::Print("Checkpoint F");
archive.addDirectory(dir.toStdString());
utils::Print("Checkpoint G (" + archivePath + ")");
archive.compressTo(archivePath.toStdString());
utils::Print("Checkpoint H");
}
m = "Successfully compressed directory [" + dir + "] to archive [" + archivePath + "]";
return true;
}
catch ( const bit7z::BitException& ex ) {
/* Do something with ex.what()...*/
m = "Unable to compress directory into archive using bit7z library [" + QString(ex.what()) + "]";
m = "Unable to compress directory into archive using bit7z library. Error [" + QString(ex.what()) + "]";
return false;
}
}
Expand Down
1 change: 1 addition & 0 deletions src/squirrel/squirrel.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ class squirrel

private:
bool MakeTempDir(QString &dir);
bool DeleteTempDir(QString dir);
bool DatabaseConnect();
bool InitializeDatabase();
bool ExtractFileFromArchive(QString archivePath, QString filePath, QString &fileContents);
Expand Down
2 changes: 1 addition & 1 deletion src/squirrel/squirrelExperiment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ QList<QPair<QString,QString>> squirrelExperiment::GetStagedFileList() {
pair.first = path;
pair.second = VirtualPath();
stagedList.append(pair);
utils::Print(QString("Inside GetStagedFileList() - stagedList [%1] -- [%2]").arg(pair.first).arg(pair.second));
//utils::Print(QString("Inside GetStagedFileList() - stagedList [%1] -- [%2]").arg(pair.first).arg(pair.second));
}

return stagedList;
Expand Down
2 changes: 1 addition & 1 deletion src/squirrel/squirrelPipeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ bool squirrelPipeline::Get() {
bool squirrelPipeline::Store() {
QSqlQuery q(QSqlDatabase::database("squirrel"));

utils::Print(QString("squirrelPipeline has been asked to Store(%1, %2). Current objectID [%3]").arg(PipelineName).arg(Version).arg(objectID));
//utils::Print(QString("squirrelPipeline has been asked to Store(%1, %2). Current objectID [%3]").arg(PipelineName).arg(Version).arg(objectID));

/* insert if the object doesn't exist ... */
if (objectID < 0) {
Expand Down
6 changes: 2 additions & 4 deletions src/squirrel/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -701,8 +701,7 @@ namespace utils {
/* --------- DirectoryExists -------------------------------- */
/* ---------------------------------------------------------- */
bool DirectoryExists(QString dir) {
QFile d(dir);
if (d.exists())
if (QFile::exists(dir))
return true;
else
return false;
Expand All @@ -713,8 +712,7 @@ namespace utils {
/* --------- FileExists ------------------------------------- */
/* ---------------------------------------------------------- */
bool FileExists(QString f) {
QFile file(f);
if (file.exists())
if (QFile::exists(f))
return true;
else
return false;
Expand Down

0 comments on commit 4583212

Please sign in to comment.