Mercurial > hg > orthanc
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 |