twitter_ebooks 2.2.5 → 2.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NTExYmViZWU4NjBmYzY5ZDFmYzNiNmU2NTNmNTE3Yjk0NDA0NGJlNw==
5
- data.tar.gz: !binary |-
6
- Y2FhZGE3NWVhNTlkMmYwZTY3MjE1ZWUyOTg4M2NkMDU1MDBhYTIwMA==
2
+ SHA1:
3
+ metadata.gz: b50e63b5ee0a1fd5149d7ecd0157c10831433ecc
4
+ data.tar.gz: e77e9ac3f6605dac9effe22f856a02b7e9f1df8a
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZGUyNTI2NzMyMDhkZDZmZTVjNDllNWIzN2NmODFlMzkwNjE2OTNkYWIwN2Iy
10
- YzllOGRjN2VmNjgwZjJjZmFmYmE5NTE5YTYyNWYwYWMzNGMwODI1MGNkYWZh
11
- N2I2ZjBjZDRmYzFiYzAyMTM5NjBmMDJmNWVkYzUxODA3Mjk4ZTQ=
12
- data.tar.gz: !binary |-
13
- MTljMDUyMGQ1MDA4YjA3MTE3ZWVmMzAzZTViYTE2ZjNkZTliYzVjN2Q0ZWMy
14
- OTgxYmI3ZDQ2NGVkNTg5MzdjZGE4ZTRhNDRmMDExYjUzYzQwYTU5NDk5MDYx
15
- YTEzNDJlOTA1ZmI4MjE1OWQ2M2VlMGVmODMyZWUyMDNjYzE5MDM=
6
+ metadata.gz: 1cf7e279e5f1c35b151f4af5296ea65de049bce7718502828381d9bbd9008898954b1093764eb7046f9e48a029d70629cea052e2747926a827ecd48b31b874e5
7
+ data.tar.gz: 88ebd09ae226e30954fa287617c09775488536f897a9d025cdde1511da660df42d8c63fd760503a2766c680266c656a9f32c96488016951b4d79ceac0d48c096
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # twitter\_ebooks 2.2.5
1
+ # twitter\_ebooks 2.2.6
2
2
 
3
3
  Rewrite of my twitter\_ebooks code. While the original was solely a tweeting Markov generator, this framework helps you build any kind of interactive twitterbot which responds to mentions/DMs. See [ebooks\_example](https://github.com/mispy/ebooks_example) for an example of a full bot.
4
4
 
5
5
  ## Installation
6
6
 
7
- Requires Ruby 1.9.3+
7
+ Requires Ruby 1.9.3+ (2.1+ recommended)
8
8
 
9
9
  ```bash
10
10
  gem install twitter_ebooks
data/bin/ebooks CHANGED
@@ -2,6 +2,7 @@
2
2
  # encoding: utf-8
3
3
 
4
4
  require 'twitter_ebooks'
5
+ require 'csv'
5
6
 
6
7
  $debug = true
7
8
 
@@ -116,9 +117,10 @@ STR
116
117
 
117
118
  def self.tweet(modelpath, botname)
118
119
  usage = <<STR
119
- Usage: ebooks jsonify <old_corpus_path> [old_corpus_path2] [...]
120
+ Usage: ebooks tweet <model_path> <botname>
120
121
 
121
- Takes an old-style corpus of plain tweet text and converts it to json.
122
+ Sends a public tweet from the specified bot using text
123
+ from the processed model at <model_path>.
122
124
  STR
123
125
 
124
126
  if modelpath.nil? || botname.nil?
@@ -153,16 +155,23 @@ STR
153
155
 
154
156
  tweets = []
155
157
  id = nil
156
- File.read(path).split("\n").each do |l|
157
- if l.start_with?('# ')
158
- id = l.split('# ')[-1]
159
- else
160
- tweet = { text: l }
161
- if id
162
- tweet[:id] = id
163
- id = nil
158
+ if path.split('.')[-1] == "csv" #from twitter archive
159
+ csv_archive = CSV.read(path, :headers=>:first_row)
160
+ tweets = csv_archive.map do |tweet|
161
+ { text: tweet['text'], id: tweet['tweet_id'] }
162
+ end
163
+ else
164
+ File.read(path).split("\n").each do |l|
165
+ if l.start_with?('# ')
166
+ id = l.split('# ')[-1]
167
+ else
168
+ tweet = { text: l }
169
+ if id
170
+ tweet[:id] = id
171
+ id = nil
172
+ end
173
+ tweets << tweet
164
174
  end
165
- tweets << tweet
166
175
  end
167
176
  end
168
177
 
@@ -19,7 +19,7 @@ module Ebooks
19
19
  end
20
20
 
21
21
  def consume(path)
22
- content = File.read(path)
22
+ content = File.read(path, :encoding => 'utf-8')
23
23
  @hash = Digest::MD5.hexdigest(content)
24
24
 
25
25
  if path.split('.')[-1] == "json"
@@ -29,9 +29,10 @@ module Ebooks
29
29
  end
30
30
  elsif path.split('.')[-1] == "csv"
31
31
  log "Reading CSV corpus from #{path}"
32
- header = CSV.read(path).first
32
+ content = CSV.parse(content)
33
+ header = content.shift
33
34
  text_col = header.index('text')
34
- lines = CSV.read(path).drop(1).map do |tweet|
35
+ lines = content.map do |tweet|
35
36
  tweet[text_col]
36
37
  end
37
38
  else
@@ -1,3 +1,3 @@
1
1
  module Ebooks
2
- VERSION = "2.2.5"
2
+ VERSION = "2.2.6"
3
3
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_ebooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.5
4
+ version: 2.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaiden Mispy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-07 00:00:00.000000000 Z
11
+ date: 2014-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: twitter
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.5'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,95 +56,95 @@ dependencies:
56
56
  name: rufus-scheduler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: gingerice
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: htmlentities
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: engtagger
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: fast-stemmer
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: highscore
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: Markov chains for all your friends~
140
140
  email:
141
- - ^_^@mispy.me
141
+ - "^_^@mispy.me"
142
142
  executables:
143
143
  - ebooks
144
144
  extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
- - .gitignore
147
+ - ".gitignore"
148
148
  - Gemfile
149
149
  - LICENSE
150
150
  - README.md
@@ -182,12 +182,12 @@ require_paths:
182
182
  - lib
183
183
  required_ruby_version: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ! '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - ! '>='
190
+ - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  requirements: []