summaryrefslogtreecommitdiff
path: root/validation/validation_application.rb
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2010-09-07 12:34:09 +0200
committermguetlein <martin.guetlein@gmail.com>2010-09-07 12:34:09 +0200
commit941da14e7e4444cdb8e81d7a144bbe0c069f20a7 (patch)
tree26d9819f36e65a416b5e6ceaad5c77dea08df79a /validation/validation_application.rb
parent5fd717dec9735895310f99c218f3dcac05a2e179 (diff)
added cv cleanup function
Diffstat (limited to 'validation/validation_application.rb')
-rw-r--r--validation/validation_application.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/validation/validation_application.rb b/validation/validation_application.rb
index 96387fe..ff6cc4c 100644
--- a/validation/validation_application.rb
+++ b/validation/validation_application.rb
@@ -14,6 +14,22 @@ get '/crossvalidation/?' do
Validation::Crossvalidation.find_like(params).collect{ |d| url_for("/crossvalidation/", :full) + d.id.to_s }.join("\n")+"\n"
end
+post '/crossvalidation/cleanup/?' do
+ LOGGER.info "crossvalidation cleanup, starting..."
+ content_type "text/uri-list"
+ deleted = []
+ Validation::Crossvalidation.find_like(params).each do |cv|
+ num_vals = Validation::Validation.find( :all, :conditions => { :crossvalidation_id => cv.id } ).size
+ if cv.num_folds != num_vals
+ LOGGER.debug "delete cv with id:"+cv.id.to_s+" num-folds should be "+cv.num_folds.to_s+", is "+num_vals.to_s
+ deleted << url_for("/crossvalidation/", :full) + cv.id.to_s
+ Validation::Crossvalidation.delete(cv.id)
+ end
+ end
+ LOGGER.info "crossvalidation cleanup, deleted "+deleted.size.to_s+" cvs"
+ deleted.join("\n")+"\n"
+end
+
post '/crossvalidation/loo/?' do
halt 500, "not yet implemented"
end