Changeset 7045
- Timestamp:
- 02/22/08 22:52:30 (5 years ago)
- Location:
- platform/quicksilver/TwitterPlugin
- Files:
-
- 3 modified
-
Info.plist (modified) (1 diff)
-
TwitterPluginSource.rb (modified) (3 diffs)
-
qs_action.rb (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
platform/quicksilver/TwitterPlugin/Info.plist
r7024 r7045 16 16 <string>BNDL</string> 17 17 <key>CFBundleVersion</key> 18 <string> F7</string>18 <string>109</string> 19 19 <key>NSPrincipalClass</key> 20 20 <string>RCLoader</string> -
platform/quicksilver/TwitterPlugin/TwitterPluginSource.rb
r7024 r7045 43 43 url = 'http://' + screen_name + ':' + password + 44 44 '@twitter.com/statuses/friends/' + screen_name + '.json' 45 #Shared.logger.info(url) 45 46 46 47 if count > 1 … … 49 50 count += 1 50 51 51 friends = JSON.parse(open(url).read) 52 friends.each do |friend| 53 Shared.logger.info(friend['screen_name']) 54 obj = OSX::QSObject.objectWithName(friend['screen_name']) 55 obj.setObject_forType('', 'TwitterPluginType') 56 obj.setPrimaryType('TwitterPluginType') 57 objects.push(obj) 52 friends = [] 53 begin 54 sio = open(url) 55 #Shared.logger.info('1') 56 res = sio.read 57 #Shared.logger.info('2') 58 unless res 59 #Shared.logger.info('2-5') 60 Shared.logger.info('no friends retrieved.') 61 break 62 end 63 #Shared.logger.info('3') 64 #Shared.logger.info(res.class.to_s) 65 66 friends = JSON.parse(res) 67 #Shared.logger.info('4') 68 friends.each do |friend| 69 #Shared.logger.info(friend['screen_name']) 70 obj = OSX::QSObject.objectWithName(friend['screen_name']) 71 obj.setObject_forType('', 'TwitterPluginType') 72 obj.setPrimaryType('TwitterPluginType') 73 objects.push(obj) 74 end 75 76 @friends += friends 77 rescue => e 78 Shared.logger.info('objectsForEntry : exception: ' + e.to_s) 79 [] 58 80 end 59 60 @friends += friends61 81 62 82 break if (friends.size < 100) … … 77 97 return false if @friends.empty? 78 98 79 Shared.logger.info('1')80 81 99 her = @friends.find {|x| x['screen_name'] == object.name.to_s} 82 100 img = OSX::NSImage.alloc.initWithContentsOfURL(OSX::NSURL.URLWithString(her['profile_image_url'])) -
platform/quicksilver/TwitterPlugin/qs_action.rb
r7024 r7045 10 10 require 'cgi' 11 11 require 'kconv' 12 require 'net/http' 13 require 'uri' 12 14 13 15 # … … 29 31 end 30 32 31 def make_request(content) 33 def name_and_pass 34 dict = OSX::NSUserDefaultsController.sharedUserDefaultsController.values; 35 screen_name = dict.valueForKey("TwitterPreference.screenName") 36 password = dict.valueForKey("TwitterPreference.password") 37 [screen_name.to_s, password] 38 end 39 40 def make_request_with_cocoa(content) 32 41 u = 'http://' + name_pass + '@twitter.com/statuses/update.json' 33 #Shared.logger.info(u.to_s)42 Shared.logger.info(u.to_s) 34 43 35 44 req = OSX::NSMutableURLRequest.alloc.initWithURL(OSX::NSURL.URLWithString(u)) … … 39 48 req 40 49 end 50 51 def request_with_cocoa(req) 52 con = OSX::NSURLConnection.connectionWithRequest_delegate(req, self) 53 Shared.logger.info(con ? "request succeeded" : "request failed") 54 end 55 56 def make_request(content) 57 req = Net::HTTP::Post.new('/statuses/update.json') 58 np = name_and_pass 59 req.basic_auth np[0], np[1] 60 req.body = Kconv.toutf8(content) 61 req 62 end 63 64 def request(req) 65 http = if ENV['http_proxy'] 66 u = URI.parse(ENV['http_proxy']) 67 Net::HTTP::Proxy(u.host, u.port).new('twitter.com') 68 else 69 Net::HTTP.new('twitter.com') 70 end 71 72 res = http.request(req) 73 Shared.logger.info(res.message) 74 res 75 end 41 76 42 77 def post_to(arg, friend) 43 78 str = arg.stringValue.to_s 44 79 if str == '/reload' 80 Shared.logger.info('reload') 45 81 reload 46 82 return arg … … 54 90 begin 55 91 content = 'source=QSTwitter&status=' + CGI.escape(str) 56 req = make_request(content)57 con = OSX::NSURLConnection.connectionWithRequest_delegate(req, self)58 # Shared.logger.info(con ? "request succeeded" : "request failed")92 Thread.new { 93 request(make_request(content)) 94 } 59 95 rescue 60 96 end … … 74 110 75 111 # 76 # callbacks 112 # callbacks for Cocoa HTTP request 77 113 # 78 114 def connection_didReceiveResponse(con, res) 79 #Shared.logger.info("connection_didReceiveResponse")115 Shared.logger.info('connection_didReceiveResponse' + res.statusCode.to_s) 80 116 end 81 117 82 118 def connection_didReceiveData(con, data) 83 #Shared.logger.info("connection_didReceiveData")119 Shared.logger.info('connection_didReceiveData' + data.to_s) 84 120 #OSX::QSShowNotifierWithAttributes({'QSTwitter' => OSX::QSNotifierTitle, 'posted' => OSX::QSNotifierText}) 85 121 end 86 122 87 123 def connection_didFailWithErro(con, err) 88 #Shared.logger.info("connection_didFailWithErro")124 Shared.logger.info('connection_didFailWithErro' + err.to_s) 89 125 end 90 126 91 127 def connectiondidFinishLoading(con) 92 #Shared.logger.info("connectiondidFinishLoading")128 Shared.logger.info("connectiondidFinishLoading") 93 129 end 94 130 end # Action
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)