diff options
author | davor <vorgrimmlerdavid@gmx.de> | 2012-03-20 13:47:56 +0100 |
---|---|---|
committer | davor <vorgrimmlerdavid@gmx.de> | 2012-03-20 13:47:56 +0100 |
commit | a430f0cf2ece93f1359ac0fb2247fc6903804ed4 (patch) | |
tree | 3d8dc9a6d449e391215c49dd0bb6c821b7a907d3 | |
parent | 5b53700d63ee55ed2e47331fa30723e873f204eb (diff) | |
parent | 6e395672a02d47218bc80769765d588437a12661 (diff) |
Merge branch 'development' into jl
Conflicts:
application.rb
-rw-r--r-- | application.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/application.rb b/application.rb index 122361d..51ce621 100644 --- a/application.rb +++ b/application.rb @@ -401,6 +401,27 @@ end +# Deletes datasets that have been created by a crossvalidatoin that does not exist anymore +# (This can happen if a crossvalidation fails unexpectedly) +delete '/cleanup' do + Dir["./#{@@datadir}/*json"].each do |file| + dataset = OpenTox::Dataset.from_json File.read(file) + if dataset.metadata[DC.creator] && dataset.metadata[DC.creator] =~ /crossvalidation\/[0-9]/ + begin + cv = OpenTox::Crossvalidation.find(dataset.metadata[DC.creator],@subjectid) + raise unless cv + rescue + LOGGER.debug "deleting #{dataset.uri}, crossvalidation missing: #{dataset.metadata[DC.creator]}" + begin + dataset.delete @subjectid + rescue + end + end + end + end + "cleanup done" +end + # Delete a dataset # @return [text/plain] Status message delete '/:id' do |