comparison src/twitter.coffee @ 17:a52b5b244e51

removed unnecessary underscore and replaced it with async
author Mathias Gebbe <mgebbe@intevation.de>
date Fri, 13 Jun 2014 15:18:36 +0200
parents 6fd0a307850f
children b90e6df48d2d
comparison
equal deleted inserted replaced
16:d2208a4ed5c8 17:a52b5b244e51
111 if (user[0]?) 111 if (user[0]?)
112 Pump.getUserFeed(user[0],callback) 112 Pump.getUserFeed(user[0],callback)
113 else 113 else
114 return 114 return
115 (feed, callback) -> 115 (feed, callback) ->
116 return if not feed?
116 ti = new Date().getTime() - interval 117 ti = new Date().getTime() - interval
117 async.eachSeries feed.items, ((post, callback) -> 118 async.eachSeries feed.items, ((post, callback) ->
118 # do for each post 119 # do for each post
119 ts = Date.parse(post.updated) 120 ts = Date.parse(post.updated)
120 if (ts >= ti and post.verb is "post" or post.verb is "share") and (post.object.objectType is "note" or post.object.objectType is "image") and (Pump.isPublicActivity(post)) and (typeof post.object.deleted is "undefined") 121 if (ts >= ti and post.verb is "post" or post.verb is "share") and (post.object.objectType is "note" or post.object.objectType is "image") and (Pump.isPublicActivity(post)) and (typeof post.object.deleted is "undefined")
121 ToESN.search {uid: post.object.id + "@twitter"}, (err, result) -> 122 ToESN.search {uid: post.object.id + "@twitter"}, (err, result) ->
122 if result.length is 0 123 if result.length is 0
123 # post to twitter 124 # post to twitter
124 status = "" 125 status = ""
125 text = post.object.content.replace(/<(?:.|\n)*?>/gm, '') 126 text = post.object.content.replace(/<(?:.|\n)*?>/gm, '')
127 re = new RegExp(String.fromCharCode(160), "g")
128 text = text.replace(re, " ")
126 if post.verb is "share" 129 if post.verb is "share"
127 status = post.object.author.url + " wrotes: " 130 status = post.object.author.url + " wrotes: "
128 if text.length <= 140 131 if text.length <= 140
129 status += text 132 status += text
130 else 133 else
149 return 152 return
150 callback null, 'done' 153 callback null, 'done'
151 ), (err) -> 154 ), (err) ->
152 callback null, 'done' 155 callback null, 'done'
153 ],(err, result) -> 156 ],(err, result) ->
154 157
155 ###################################### 158 ######################################
156 # get tweets and post them to pump.io# 159 # get tweets and post them to pump.io#
157 ###################################### 160 ######################################
158 twit.verifyCredentials((data) -> 161 twit.verifyCredentials((data) ->
159 #console.log util.inspect(data) 162 #console.log util.inspect(data)
160 return 163 return
161 ).getHomeTimeline {include_rts: true, count: 20 }, (data) -> 164 ).getHomeTimeline {include_rts: true, count: 20 }, (data) ->
162 #console.log util.inspect(data) 165 #console.log util.inspect(data)
163 ti = (new Date().getTime() - interval) 166 ti = (new Date().getTime() - interval)
164 _.each data, (tweet) -> 167 async.each data, ((tweet,cb) ->
165 async.waterfall [ 168 async.waterfall [
166 (callback) -> 169 (callback) ->
167 FromESN.search {uid: tweet.id + "@twitter_to_" + me, recipientUser: me}, callback 170 FromESN.search {uid: tweet.id + "@twitter_to_" + me, recipientUser: me}, callback
168 (result, callback) -> 171 (result, callback) ->
169 return if result.length isnt 0 or tweet.user.id_str is id 172 return if result.length isnt 0 or tweet.user.id_str is id
183 pumpPost: pumppost.object.id 186 pumpPost: pumppost.object.id
184 recipientUser: me 187 recipientUser: me
185 created: Date.now() 188 created: Date.now()
186 , callback 189 , callback
187 ], (err, result) -> 190 ], (err, result) ->
188 #console.log result 191 cb()
189 # end 192 ), (err) ->
190 return 193 return
191 return 194 return
192 195
193 return
194
195 parseTwitterDate : (text) -> 196 parseTwitterDate : (text) ->
196 197
197 getOAuth: (site) -> 198 getOAuth: (site) ->
198 new OAuth(request_token_endpoint, access_token_endpoint, client_id, client_secret, "1.0", site.url("/authorized-for-twitter"), "HMAC-SHA1", null, # nonce size; use default 199 new OAuth(request_token_endpoint, access_token_endpoint, client_id, client_secret, "1.0", site.url("/authorized-for-twitter"), "HMAC-SHA1", null, # nonce size; use default
199 "User-Agent": site.userAgent() 200 "User-Agent": site.userAgent()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)