comparison OrthancServer/Sources/OrthancWebDav.cpp @ 4244:416c35da7d25

robustness against non-dicom files
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 10 Oct 2020 10:38:45 +0200
parents 64f57c9d5f79
children c70df925151e
comparison
equal deleted inserted replaced
4243:64f57c9d5f79 4244:416c35da7d25
1224 { 1224 {
1225 DicomInstanceToStore instance; 1225 DicomInstanceToStore instance;
1226 // instance.SetOrigin(DicomInstanceOrigin_WebDav); // TODO 1226 // instance.SetOrigin(DicomInstanceOrigin_WebDav); // TODO
1227 instance.SetBuffer(content.c_str(), content.size()); 1227 instance.SetBuffer(content.c_str(), content.size());
1228 1228
1229 std::string publicId; 1229 bool success = false;
1230 StoreStatus status = context_.Store(publicId, instance, StoreInstanceMode_Default); 1230
1231 if (status == StoreStatus_Success || 1231 try
1232 status == StoreStatus_AlreadyStored) 1232 {
1233 { 1233 std::string publicId;
1234 LOG(INFO) << "Successfully imported DICOM instance from WebDAV: " << path << " (Orthanc ID: " << publicId << ")"; 1234 StoreStatus status = context_.Store(publicId, instance, StoreInstanceMode_Default);
1235 uploads_.DeleteItem(uri); 1235 if (status == StoreStatus_Success ||
1236 } 1236 status == StoreStatus_AlreadyStored)
1237 else 1237 {
1238 { 1238 LOG(INFO) << "Successfully imported DICOM instance from WebDAV: " << path << " (Orthanc ID: " << publicId << ")";
1239 LOG(WARNING) << "Cannot import DICOM instance from WebWAV: " << path; 1239 success = true;
1240 }
1241 }
1242 catch (OrthancException& e)
1243 {
1244 }
1245
1246 uploads_.DeleteItem(uri);
1247
1248 if (!success)
1249 {
1250 LOG(WARNING) << "Cannot import DICOM instance from WebWAV (maybe not a DICOM file): " << path;
1240 } 1251 }
1241 } 1252 }
1242 } 1253 }
1243 1254
1244 1255