Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.
Name: examples/flickr/Exif/exif.test
1: | #!/usr/bin/ruby |
2: | require 'digest/md5' |
3: | require 'socket' |
4: | require '../../../lib/ruby/riddl/client' |
5: | require '../Helpers/flickr.rb' |
6: | require 'pp' |
7: | |
8: | t = Thread.new do |
9: | puts `rackup exif.ru` |
10: | end |
11: | |
12: | up = false |
13: | until up |
14: | begin |
15: | TCPSocket.new('localhost', 9292) |
16: | up = true |
17: | rescue => e |
18: | sleep 0.1 |
19: | end |
20: | end |
21: | |
22: | exif = Riddl::Client.new("http://localhost:9292/") |
23: | |
24: | begin |
25: | fh = FlickrHelper.new("../Flickr/") |
26: | params = [ |
27: | Riddl::Parameter::Simple.new("api_key", fh.api_key), |
28: | Riddl::Parameter::Simple.new("auth_token", fh.auth_token), |
29: | Riddl::Parameter::Complex.new("photo","image/jpeg",File.open('riddl.jpg','r'),'riddl.jpg'), |
30: | Riddl::Parameter::Simple.new("author", "Jürgen Mangler"), |
31: | Riddl::Parameter::Simple.new("title", "RIDDL Logo"), |
32: | Riddl::Parameter::Simple.new("description", "The official RIDDL logo, the first thing created for this project."), |
33: | Riddl::Parameter::Simple.new("tags", "RIDDL, REST, Composition, Evolution"), |
34: | Riddl::Parameter::Simple.new("longitude", 48.213736), |
35: | Riddl::Parameter::Simple.new("latitude", 16.357141), |
36: | Riddl::Parameter::Simple.new("is_public", 1), |
37: | ] |
38: | params << Riddl::Parameter::Simple.new("api_sig", fh.sign(params)) |
39: | |
40: | status, res = exif.post params |
41: | |
42: | puts status |
43: | pp res |
44: | if status == 200 |
45: | File.open('riddl.new.jpg','w') do |f| |
46: | f.write res.detect{ |e| e.name == 'photo' }.value.read |
47: | end |
48: | end |
49: | |
50: | ensure |
51: | `pkill rackup` |
52: | t.join |
53: | end |