Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Comment: | First release candidate of App
* API Key and Shared secret in external file |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | v0.0.1 |
Files: | files | file ages | folders |
SHA3-256: |
73a783ca9794089a3c09334600d3ffa7 |
User & Date: | i5ivem@gmail.com 2010-03-16 15:27:23 |
Original User & Date: | i5ivem@gmail.com 2010-03-16 15:27:24 |
2010-03-16
| ||
15:27 | Adding .gitignore file check-in: bfa08d3a35 user: i5ivem@gmail.com tags: trunk | |
15:27 |
First release candidate of App
* API Key and Shared secret in external file | |
15:27 | Changed formatting only check-in: 2e3ea62bd5 user: i5ivem@gmail.com tags: trunk | |
Changes to shoeset.rb.
1 2 3 4 5 6 7 8 9 | Shoes.setup do gem 'flickraw' end require 'flickraw' require 'yaml' require 'cloud' | | | > | | < | > > | | | | | > | < | | | | | | | | < | | | | | > | | | | | > | | > > > > > > > > > > | | | | | > | | < > > > > | > > | | > > > > > > > | > > > > > > | | | | | | | | | | | | | | | | | | | | | > | | | | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | Shoes.setup do gem 'flickraw' end require 'flickraw' require 'yaml' require 'cloud' Shoes.app :title => "Shoeset" do KEYFILE = "keys.yml" KEYS = YAML::load(File.read(KEYFILE)) FlickRaw.api_key=KEYS["api_key"] FlickRaw.shared_secret=KEYS["shared_secret"] TOKENFILE = ENV['HOME']+"\\.shoeset.yml" #Need to improve GUI feedback/responsive on opening. Thread?? def login if File.exists?(TOKENFILE) #Load token if it exists $SETTINGS = YAML::load(File.read(TOKENFILE)) @token = $SETTINGS["Token"] @auth = flickr.auth.checkToken :auth_token => @token @login = flickr.test.login @container.clear{ui} #draw ui else frob = flickr.auth.getFrob auth_url = FlickRaw.auth_url :frob => frob, :perms => 'read' para "Click to ", link("authorise", :click =>auth_url), " with Flickr." para "Click OK when you are finished." @okbutton = button "OK" do begin @auth = flickr.auth.getToken :frob => frob $SETTINGS = { "Token" => @auth.token } f = File.open(TOKENFILE, 'w') f.write(YAML.dump $SETTINGS) f.close @login = flickr.test.login @container.clear{ui} #draw ui rescue FlickRaw::FailedResponse => e para "Authentication failed : #{e.msg}" end end end end def ui flow do para "You are logged in as " para link(@login.username){@token.toggle} button "Logout", :displace_left => 10 do logout end end @token = para "Token: #{@auth.token}" @token.hide @setlist = [] @photosetlist = flickr.photosets.getList.each do |set| @setlist << set["title"] end flow do para "Pick a set to generate Tag Cloud: " list_box :items => @setlist, :chose => @setlist[0] do |set| fluffygen(set) end end #flow @tagcloud = flow do #if this is a stack then clearing it goes crazy para "" end #set-up placeholder for tag cloud end def logout #remove token file File.delete(TOKENFILE) #clear window and restart @container.clear login end def fluffygen(set) @tagcloud.clear #is this because it's on a global variable that it clears everything???? Nope $p = progress :width => 0.8, :displace_left => 10 #debug(set.text) photosetinfo = @photosetlist.select {|s| s["title"] == set.text} #debug(photosetinfo) count = photosetinfo[0]["photos"].to_f counter = 0.0 #debug photosetinfo[0]["id"].to_s #it's an array of a hash. Even though just one photosetphotos = flickr.photosets.getPhotos(:photoset_id => photosetinfo[0]["id"] ) #debug(photosetphotos["photo"]) $array = [] Thread.new do photosetphotos["photo"].each do |photo| #debug flickr.tags.getListPhoto(:photo_id => photo["id"]) temp = flickr.tags.getListPhoto(:photo_id => photo["id"]) temp["tags"].each do |tags| #should be an array $array << tags["_content"] end #debug $array sleep(1) # Sleep interval between calls. counter += 1.0 $p.fraction = counter/count #debug (counter/count) # Caching - anyway? Could cache list of photos from set, but then what about if updated? end #debug $array cloud = TagCloud.new($array.join(" ")) $p.hide #debug cloud.build @tagcloud.clear{eval cloud.build} end end @container = slot do para "Never see this" end login end |