secondHandler 1.1.3 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f952d71536a07bb62aae790d1d730f8a217b081c
4
- data.tar.gz: b0fa2b2eaf8c2ea0a46b731c90ab1fe30521b9a5
3
+ metadata.gz: 55f6fc7b82dfa5ac9a531e354340f6baaebfdd54
4
+ data.tar.gz: e10d2f2cba375d778b97a732f737b278bc1415ff
5
5
  SHA512:
6
- metadata.gz: 301df76e3792b4da0b818ecefbb6d740b1b7948354739b22ea2c7de98e1bd35b18a2db09f107a63c0b2c948f47edade2536ab7f089fed3c8a0ba8098d52afb85
7
- data.tar.gz: fad81956293e80d5e996492d23bc56ae7a72e805c375d938bf883f7f553bc19a8f722cc057d0784773ef4f2368154dc593981c6aeed23566d39c995676597580
6
+ metadata.gz: 6079c4924cedd3192af7af7b11f6c3e140f4bf5f2942c0504dc62a796e5b4e37d0f957fcf10f124cc3a4d836794dc0070714d27662115fb2a371a9b7cabdae5e
7
+ data.tar.gz: 8ae6af630295f716b63c8756d7fc6d80cf3ef99748847a608b99a848b69c82c1599195f0c4f605ca584359f97b01c71ff2740ab68615c8f8e505d577672fb38c
@@ -0,0 +1,26 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ addressable (2.4.0)
5
+ commander (4.3.5)
6
+ highline (~> 1.7.2)
7
+ faraday (0.9.2)
8
+ multipart-post (>= 1.2, < 3)
9
+ highline (1.7.8)
10
+ koala (2.2.0)
11
+ addressable
12
+ faraday
13
+ multi_json
14
+ minitest (5.8.3)
15
+ multi_json (1.11.2)
16
+ multipart-post (2.0.0)
17
+ rake (10.4.2)
18
+
19
+ PLATFORMS
20
+ ruby
21
+
22
+ DEPENDENCIES
23
+ commander
24
+ koala
25
+ minitest
26
+ rake
@@ -1,7 +1,9 @@
1
+
2
+
1
3
  module FbDataHandler
2
4
  FACEBOOK_URL = "https://www.facebook.com"
3
5
  private
4
- def attachment_helper (attach_hash, &func)
6
+ def attachment_helper (attach_hash,&func)
5
7
 
6
8
  clean_data = []
7
9
 
@@ -18,11 +20,10 @@ module FbDataHandler
18
20
  clean_data
19
21
  end
20
22
 
21
- def clean_post_content (item)
22
- {
23
+ def clean_post_content (item, &message_parser)
24
+ res = {
23
25
  "id" => item["id"],
24
26
  "origin_url" => FACEBOOK_URL+"/"+item["id"],
25
- "message" => item["message"],
26
27
  "updated_time" => item["updated_time"],
27
28
  "attachments" => attachment_helper(item["attachments"]),
28
29
  "from" => {
@@ -34,6 +35,13 @@ module FbDataHandler
34
35
  "comment_count"=> item["comments"]["summary"]["total_count"],
35
36
 
36
37
  }
38
+ if not message_parser.nil?
39
+ clean = yield item["message"]
40
+ res = res.merge(clean)
41
+
42
+ end
43
+ res
44
+
37
45
  end
38
46
 
39
47
  def clean_comment(item)
@@ -0,0 +1,27 @@
1
+ module FBParsers
2
+
3
+ @@parse_1730742887066429 = lambda do |message|
4
+ price = nil
5
+ title = nil
6
+ message_body = nil
7
+ price_regex = /NT\$([\d,\.]+)/
8
+ lines = message.split("\n")
9
+ if lines.length >= 3
10
+ unless price_regex.match(lines[1]).nil?
11
+ print price
12
+ price = price_regex.match(lines[1])[1]
13
+ end
14
+ end
15
+ if not price.nil?
16
+ {"price" => price.gsub(",","").to_i , "title" => lines[0] ,"body" => lines[2..-1].join("\n")}
17
+ else
18
+ raise ArgumentError, "message parse fail"
19
+ end
20
+
21
+ end
22
+ @@tools = {"1730742887066429" => @@parse_1730742887066429 }
23
+ def self.message_parser (gid)
24
+ @@tools[gid]
25
+ end
26
+
27
+ end
@@ -1,6 +1,7 @@
1
1
  require 'koala'
2
2
  require 'json'
3
3
  require_relative 'fb_data_handler'
4
+ require_relative 'parser_collection'
4
5
 
5
6
  module SecondHandler
6
7
 
@@ -101,6 +102,7 @@ module SecondHandler
101
102
  def initialize (access_token, group_id)
102
103
  @graph = Koala::Facebook::API.new(access_token)
103
104
  @group_id = group_id
105
+ @message_parser = FBParsers.message_parser @group_id
104
106
  end
105
107
 
106
108
  def first_page(page_token=nil,until_stamp=nil)
@@ -135,9 +137,14 @@ module SecondHandler
135
137
 
136
138
  # return feed of current page infomation , including image
137
139
  def get_content (&func)
138
- @feed.to_a.map do |single_post|
139
- clean_post_content(single_post)
140
+ data = Array.new
141
+ @feed.to_a.each do |single_post|
142
+ begin
143
+ data << clean_post_content(single_post, &@message_parser)
144
+ rescue
145
+ end
140
146
  end
147
+ data
141
148
  end
142
149
 
143
150
 
@@ -1,4 +1,4 @@
1
1
  module SecondHandler
2
- VERSION = '1.1.3'
2
+ VERSION = '1.2.1'
3
3
  DATE = '2016-01-07'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secondHandler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sheng Jung Wu
@@ -64,11 +64,13 @@ extra_rdoc_files: []
64
64
  files:
65
65
  - ".gitignore"
66
66
  - Gemfile
67
+ - Gemfile.lock
67
68
  - LICENSE
68
69
  - README.md
69
70
  - Rakefile
70
71
  - bin/second_handler
71
72
  - lib/fb_data_handler.rb
73
+ - lib/parser_collection.rb
72
74
  - lib/second_handler.rb
73
75
  - lib/second_handler/version.rb
74
76
  - secondhandler.gemspec