comparison src/facebook.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 c1b736a859c9
children b90e6df48d2d
comparison
equal deleted inserted replaced
16:d2208a4ed5c8 17:a52b5b244e51
44 getFriends(user) 44 getFriends(user)
45 getPages(user) 45 getPages(user)
46 getUser(user) 46 getUser(user)
47 getStream user,callback 47 getStream user,callback
48 ], (err, posts) -> 48 ], (err, posts) ->
49 return if not (posts?) or posts.length is 0 49 return if not posts? or posts.length is 0
50 #console.log JSON.stringify(posts) # all posts from network (100) 50 #console.log JSON.stringify(posts) # all posts from network (100)
51 async.eachSeries posts, ((post, callback) -> 51 async.eachSeries posts, ((post, callback) ->
52 async.waterfall [ 52 async.waterfall [
53 (callback) -> 53 (callback) ->
54 FromESN.search {uid: post.id + "@facebook_to_" + me, recipientUser: me}, callback 54 FromESN.search {uid: post.id + "@facebook_to_" + me, recipientUser: me}, callback
66 else 66 else
67 return 67 return
68 (parsed, callback) -> 68 (parsed, callback) ->
69 Pump.postUser bridgeid, me, parsed, callback 69 Pump.postUser bridgeid, me, parsed, callback
70 (pumppost, callback) -> 70 (pumppost, callback) ->
71 return if not pumppost? or not post.actions[0]?
71 pumppost = JSON.parse(pumppost) 72 pumppost = JSON.parse(pumppost)
72 if (post.actions[1].link?) 73 postlink = post.actions[0].link
73 postlink = post.actions[1].link
74 else
75 postlink = post.actions[0].link
76 FromESN.create 74 FromESN.create
77 postid: post.id + "@facebook" 75 postid: post.id + "@facebook"
78 sourceUser: post.from.id 76 sourceUser: post.from.id
79 sourcePost: postlink 77 sourcePost: postlink
80 pumpPost: pumppost.object.id 78 pumpPost: pumppost.object.id
81 recipientUser: me 79 recipientUser: me
82 created: Date.now() 80 created: Date.now()
83 , callback 81 , callback
84 ], (err, result) -> 82 ], (err, result) ->
85 #console.log result
86 #console.log 'done.'
87 callback null, 'done' 83 callback null, 'done'
88 ), (err) -> 84 ), (err) ->
89 if err 85 if err
90 console.log 'one post fail to process' 86 console.log 'one post fail to process'
91 else 87 else
211 ] 207 ]
212 , (res) -> 208 , (res) ->
213 if not res or res.error 209 if not res or res.error
214 console.log (if not res then "error occurred" else res.error) 210 console.log (if not res then "error occurred" else res.error)
215 211
216 _.each res.data, (person) -> 212 async.each res.data, ((person, cb) ->
217 getUserById(me,person.id,token) 213 getUserById(me,person.id,token)
218 return 214 cb()
219 215 return
216 ), (err) ->
217 return
220 return 218 return
221 219
222 ####################################### 220 #######################################
223 ###### get user facebook3 ##### 221 ###### get user facebook3 #####
224 ####################################### 222 #######################################
265 console.log res 263 console.log res
266 if not res or res.error 264 if not res or res.error
267 console.log (if not res then "error occurred" else res.error) 265 console.log (if not res then "error occurred" else res.error)
268 return 266 return
269 267
270 _.each res.data, (user) -> 268 async.each res.data, ((user, cb) ->
271 getUserById(me,user.uid2,token) 269 getUserById(me,user.uid2,token)
272 return 270 cb()
273 271 return
272 ), (err) ->
273 return
274 return 274 return
275 275
276 return 276 return
277 277
278 278
291 ] 291 ]
292 , (res) -> 292 , (res) ->
293 if not res or res.error 293 if not res or res.error
294 console.log (if not res then "error occurred" else res.error) 294 console.log (if not res then "error occurred" else res.error)
295 295
296 _.each res.data, (page) -> 296 async.each res.data, ((page,cb) ->
297 getUserById(me,page.id,token) 297 getUserById(me,page.id,token)
298 return 298 cb()
299 299 return
300 ), (err) ->
301 return
300 return 302 return
301 303
302 304
303 ####################################### 305 #######################################
304 ###### get facebook stream ###### 306 ###### get facebook stream ######
310 interval = 15 * 60 * 1000 # 900 000 ms (15min) 312 interval = 15 * 60 * 1000 # 900 000 ms (15min)
311 ts = Math.round(((new Date()).getTime() - interval)/1000) 313 ts = Math.round(((new Date()).getTime() - interval)/1000)
312 314
313 FB.setAccessToken token 315 FB.setAccessToken token
314 316
315 FB.api "me/home?limit=35&?since="+ts, 317 FB.api "me/home?limit=10&?since="+ts,
316 fields: [ 318 fields: [
317 "id" 319 "id"
318 "type" 320 "type"
319 "from" 321 "from"
320 "privacy" 322 "privacy"
332 if not res or res.error 334 if not res or res.error
333 console.log (if not res then "error occurred" else res.error) 335 console.log (if not res then "error occurred" else res.error)
334 callback null, null 336 callback null, null
335 337
336 newposts = new Array() 338 newposts = new Array()
337 _.each res.data, (post) -> 339 async.each res.data, ((post,cb) ->
338 newposts.push(post) if (post.type is 'status' or post.type is 'photo' or post.type is 'link' or post.type is 'video') and (post.status_type is 'mobile_status_update' or post.status_type is 'added_photos' or post.status_type is 'shared_story') 340 newposts.push(post) if (post.type is 'status' or post.type is 'photo' or post.type is 'link' or post.type is 'video') and (post.status_type is 'mobile_status_update' or post.status_type is 'added_photos' or post.status_type is 'shared_story')
339 341 cb()
340 callback null, newposts.reverse() 342 return
343 ), (err) ->
344 callback null, newposts.reverse()
345 return
346 return
341 347
342 ####################################### 348 #######################################
343 ###### post facebook stream ###### 349 ###### post facebook stream ######
344 ####################################### 350 #######################################
345 postStream = (user, post) -> 351 postStream = (user, post) ->
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)