summaryrefslogtreecommitdiff
path: root/lib/overwrite.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2012-02-08 13:14:11 +0100
committerChristoph Helma <helma@in-silico.ch>2012-02-08 13:14:11 +0100
commit354aaa649e9eeed5d81793e09d9714b45063c147 (patch)
tree230fd99569bcec503b61e6336263ca1edec397d1 /lib/overwrite.rb
parentac54997dccc571471a0cdf62939e2fcbc42e06e2 (diff)
toxbank-investigation compatible version
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r--lib/overwrite.rb155
1 files changed, 0 insertions, 155 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb
deleted file mode 100644
index d541b61..0000000
--- a/lib/overwrite.rb
+++ /dev/null
@@ -1,155 +0,0 @@
-require 'uri'
-=begin
-# class overwrites aka monkey patches
-# hack: store sinatra instance in global var $url_provider to make url_for and halt methods accessible
-before {
- raise "should not happen, url provider already differently initialized "+
- $url_provider.request.host.to_s+" != "+self.request.host.to_s if
- $url_provider and $url_provider.request.host!=self.request.host and
- $url_provider.request.script_name!=self.request.script_name
- $url_provider = self
- # stupid internet explorer does not ask for text/html, add this manually
- request.env['HTTP_ACCEPT'] += ";text/html" if request.env["HTTP_USER_AGENT"]=~/MSIE/
- request.env['HTTP_ACCEPT']=request.params["media"] if request.params["media"]
-}
-
-# Error handling
-# Errors are logged as error and formated according to acccept-header
-# Non OpenTox::Errors (defined in error.rb) are handled as internal error (500), stacktrace is logged
-# IMPT: set sinatra settings :show_exceptions + :raise_errors to false in config.ru, otherwise Rack::Showexceptions takes over
-error Exception do
- error = request.env['sinatra.error']
- # log error message and backtrace to logfile
- LOGGER.error error.class.to_s+": "+error.message
- LOGGER.error ":\n"+error.backtrace.join("\n")
-
- actor = "#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}#{request.env['REQUEST_URI']}"
- rep = OpenTox::ErrorReport.create(error, actor)
-
- case request.env['HTTP_ACCEPT']
- when /rdf/
- content_type 'application/rdf+xml'
- halt error.http_code,rep.to_rdfxml
- when /html/
- content_type 'text/html'
- halt error.http_code,(OpenTox.text_to_html rep.to_yaml, @subjectid)
- else
- content_type 'application/x-yaml'
- halt error.http_code,rep.to_yaml
- end
-end
-
-class Sinatra::Base
-
- def return_task( task )
- raise "http_code == nil" unless task.http_code!=nil
- case request.env['HTTP_ACCEPT']
- when /rdf/
- response['Content-Type'] = "application/rdf+xml"
- halt task.http_code,task.to_rdfxml
- when /yaml/
- response['Content-Type'] = "application/x-yaml"
- halt task.http_code,task.to_yaml # PENDING differs from task-webservice
- when /html/
- response['Content-Type'] = "text/html"
- halt task.http_code,OpenTox.text_to_html(task.to_yaml, @subjectid)
- else # default /uri-list/
- response['Content-Type'] = "text/uri-list"
- if task.completed?
- halt task.http_code,task.resultURI+"\n"
- else
- halt task.http_code,task.uri+"\n"
- end
- end
- end
-end
-=end
-
-class String
- def task_uri?
- self.uri? && !self.match(/task/).nil?
- end
-
- def dataset_uri?
- self.uri? && !self.match(/dataset/).nil?
- end
-
- def self.model_uri?
- self.uri? && !self.match(/model/).nil?
- end
-
- def uri?
- begin
- u = URI::parse(self)
- return (u.scheme!=nil and u.host!=nil)
- rescue URI::InvalidURIError
- return false
- end
- end
-
- def underscore
- self.gsub(/::/, '/').
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
- tr("-", "_").
- downcase
- end
-end
-
-require 'logger'
-# logging
-#class Logger
-class OTLogger < Logger
-
- def pwd
- path = Dir.pwd.to_s
- index = path.rindex(/\//)
- return path if index==nil
- path[(index+1)..-1]
- end
-
- def trace()
- lines = caller(0)
- n = 2
- line = lines[n]
-
- while (line =~ /spork.rb/ or line =~ /create/ or line =~ /overwrite.rb/)
- n += 1
- line = lines[n]
- end
-
- index = line.rindex(/\/.*\.rb/)
- return line if index==nil
- line[index..-1]
- end
-
- def format(msg)
- pwd.ljust(18)+" :: "+msg.to_s+" :: "+trace
- end
-
- def debug(msg)
- super format(msg)
- end
-
- def info(msg)
- super format(msg)
- end
-
- def warn(msg)
- super format(msg)
- end
-
- def error(msg)
- super format(msg)
- end
-
-end
-
-# make migration from datamapper more straightforward
-=begin
-class Ohm::Model
- def self.get(id)
- self[id]
- end
-end
-=end