Mercurial > pumpbridge
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) -> |