ayadn 1.7.5 → 1.7.6

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: b101f2949d37db133dd7f1955d95aec8fac1424c
4
- data.tar.gz: 32222443d4c962edaf8fbbb2658bb9716284c55c
3
+ metadata.gz: 8d61fe173d14e26de92c795038dd27fea3772413
4
+ data.tar.gz: 54f031328188efe4a55774916f0f0a719456741e
5
5
  SHA512:
6
- metadata.gz: 26014e72af700bcecee4792546ca015ca9efdb8083042b3bf2498cc940ef11501917d946f7d30f149b3b19ce2a88f027d7270b8741b298e8660a5be85cd6c62c
7
- data.tar.gz: 74d280a4461e5f78ec746e4506b23cd433f3338a118a960324b7849b6d92c12b1e6e3d28523ff1ec2fc372273813c39c706b099897e1af563ef8440862aca838
6
+ metadata.gz: 1dd6b47722459df1fd84c27abb1a690563b57f9b662078cf64b413da52e00738fa94b3f2daf28d0193dae6553d815a2a5a9b0c40082524bd908ee8e5f9897f46
7
+ data.tar.gz: 69bc850c7b96aec17dd0619c4bcca4eb9ed00a4a094f3ca8214c4f72effe5096d1d315a77daff61309bcd32fbb8bbf6bd27f3765a5e99a64acc0237e34bbfc3f
data/CHANGELOG.md CHANGED
@@ -1,35 +1,40 @@
1
- # 1.7.5 (2014-10-20) - 'Cirrus'
1
+ # 1.7.6 - 2014-10-25 - 'Barrie'
2
+
3
+ - Fix: channels parser (response != 200, working status)
4
+ - Fix: settings list with compact view
5
+
6
+ # 1.7.5 - 2014-10-20 - 'Cirrus'
2
7
 
3
8
  - New: option to display a compact view for the timeline
4
9
  - Fix: character count in reply with Markdown links
5
10
 
6
- # 1.7.4 (2014-09-21) - 'Elton'
11
+ # 1.7.4 - 2014-09-21 - 'Elton'
7
12
 
8
13
  - Fix: nowplaying (show artwork)
9
14
  - Fix: nowwatching (show posting account)
10
15
  - Fix: tvshow (show posting account)
11
16
 
12
- # 1.7.3 (2014-09-08) - 'Scanners'
17
+ # 1.7.3 - 2014-09-08 - 'Scanners'
13
18
 
14
19
  - New: option to reply to a reposted post
15
20
  - New: you can change the users lists order with `set`
16
21
  - New: you can change the table width with `set`
17
22
  - Docs: the documentation has been fixed and updated
18
23
 
19
- # 1.7.2 (2014-09-04) - 'Fortress'
24
+ # 1.7.2 - 2014-09-04 - 'Fortress'
20
25
 
21
26
  - Fixed: option to retrieve only specified channels in Channels
22
27
  - Fixed: validators for Set
23
28
  - New: better tests suite
24
29
 
25
- # 1.7.1 (2014-09-02) - 'Poltergeist'
30
+ # 1.7.1 - 2014-09-02 - 'Poltergeist'
26
31
 
27
32
  - New: update your user profile (full name, bio (user description), avatar, cover, Twitter username, blog url, web url)
28
33
  - Update profile: option to delete the field instead of updating
29
34
  - New: option to retrieve only specified channels in Channels
30
35
  - New: option to display raw response in Channels
31
36
 
32
- # 1.7.0 (2014-08-21) - 'Private Investigations'
37
+ # 1.7.0 - 2014-08-21 - 'Private Investigations'
33
38
 
34
39
  - New: embed a Youtube video in a normal post with option `-Y`
35
40
  - New: embed a Vimeo video in a normal post with option `-V`
@@ -41,7 +46,7 @@
41
46
  - Fixed: value displayed when setting NiceRank
42
47
  - Refactored a few classes and methods
43
48
 
44
- # 1.6.0 (2014-08-04) - 'Beetlejuice'
49
+ # 1.6.0 - 2014-08-04 - 'Beetlejuice'
45
50
 
46
51
  - New command: 'movie'. Create a post from a movie title (with link + movie poster). Customisable hashtag (default: '#nowwatching').
47
52
  - New command: 'tvshow'. Create a post from a TV show title (with link + show poster). Customisable hashtag (default: '#nowwatching'). Option to display a banner instead of a poster.
@@ -52,11 +57,11 @@
52
57
  - Fixed: bookmark convos.
53
58
  - General code cleaning and refactoring.
54
59
 
55
- # 1.5.1 (2014-07-27) - 'Holograms'
60
+ # 1.5.1 - 2014-07-27 - 'Holograms'
56
61
 
57
62
  - Improved accuracy of iTunes Store requests for NowPlaying
58
63
 
59
- # 1.5.0 (2014-07-25) - 'Nozomi'
64
+ # 1.5.0 - 2014-07-25 - 'Nozomi'
60
65
 
61
66
  - In 'convo', both the post id you've requested and the post it replies to are marked with arrows
62
67
  - Same feature in the view after a reply
@@ -73,7 +78,7 @@
73
78
 
74
79
  - Temporary fix for filepaths instability when uploading pictures
75
80
 
76
- # 1.4.5 (2014-07-19) - 'Sébastien'
81
+ # 1.4.5 - 2014-07-19 - 'Sébastien'
77
82
 
78
83
  - Fixed a crash when iTunes Store URL contained exotic characters
79
84
 
@@ -81,7 +86,7 @@
81
86
 
82
87
  - Fixed a database problem in PM and SEND
83
88
 
84
- # 1.4.3 (2014-07-17) - 'Sergent Stretch'
89
+ # 1.4.3 - 2014-07-17 - 'Sergent Stretch'
85
90
 
86
91
  - NowPlaying is compatible with iTunes and Last.fm. Default: iTunes. Add `--last-fm` or `-l` to get Last.fm last played track instead
87
92
  - NowPlaying audio link has been replaced with an iTunes Store link
@@ -91,7 +96,7 @@
91
96
  - Automatically fixes the arguments order for 'post' if needed when uploading a picture
92
97
  - General code cleaning
93
98
 
94
- # 1.4.2 (2014-07-15) - 'Caligula'
99
+ # 1.4.2 - 2014-07-15 - 'Caligula'
95
100
 
96
101
  - Ayadn is more resilient to connectivity errors
97
102
  - Better handling of filenames when uploading
@@ -100,7 +105,7 @@
100
105
 
101
106
  - A few fixes in the NowPlaying section
102
107
 
103
- # 1.4.0 (2014-07-14) - 'Florian'
108
+ # 1.4.0 - 2014-07-14 - 'Florian'
104
109
 
105
110
  - New feature: embed one or several pictures within a post (in write, post, reply, and pm)
106
111
  - Nowplaying inserts preview URL and album art from iTunes Store (you can prevent this with: `--no-url`)
@@ -109,11 +114,11 @@
109
114
 
110
115
  - Fixed: Global stream crashed if NiceRank was enabled but unreachable
111
116
 
112
- # 1.3.1 (2014-06-16) - 'Nico'
117
+ # 1.3.1 - 2014-06-16 - 'Nico'
113
118
 
114
119
  - NiceRank threshold is a float again. Default value is 2.1
115
120
 
116
- # 1.3.0 (2014-06-09) - 'K'
121
+ # 1.3.0 - 2014-06-09 - 'K'
117
122
 
118
123
  - Updated the NiceRank API url
119
124
  - NiceRank filter is more efficient (checks is_human + real_person)
@@ -130,14 +135,14 @@ Features:
130
135
 
131
136
  - Fixed the non-installing unicode_utils Gem
132
137
 
133
- # 1.2.9 (2014-05-29) - 'Kirschen'
138
+ # 1.2.9 - 2014-05-29 - 'Kirschen'
134
139
 
135
140
  - NiceRank database auto-limits to 10000 users
136
141
  - Better handling of connection errors
137
142
  - Better display of emojis
138
143
  - General code cleaning
139
144
 
140
- # 1.2.8 (2014-05-27) - 'Hans'
145
+ # 1.2.8 - 2014-05-27 - 'Hans'
141
146
 
142
147
  - No more Ruby 1.9.3
143
148
  - Search for users: returns a detailed view of users containing word(s) in their bio/description
@@ -163,7 +168,7 @@ Features:
163
168
 
164
169
  - Fix the NiceRank filter staying on true
165
170
 
166
- # 1.2.4 (2014-05-25) - 'Stoopid me'
171
+ # 1.2.4 - 2014-05-25 - 'Stoopid me'
167
172
 
168
173
  - Fix the copy/paste error in Settings
169
174
 
@@ -177,23 +182,23 @@ Features:
177
182
  - Option for showing debug messages
178
183
  - Show spinner = true
179
184
 
180
- # 1.2.2 (2014-05-21) - 'Chris'
185
+ # 1.2.2 - 2014-05-21 - 'Chris'
181
186
 
182
187
  - No more empty lines in the scroll
183
188
  - Spinner while waiting for posts (false by default)
184
189
  - Hashtags support accented characters
185
190
 
186
- # 1.2.1 (2014-05-20) - 'Vinz'
191
+ # 1.2.1 - 2014-05-20 - 'Vinz'
187
192
 
188
193
  - Fixed the exclusion bug in NiceRank filters
189
194
  - Improved the truncation in Mark list
190
195
  - Changes to match changes in NiceRank API
191
196
 
192
- # 1.2.0 (2014-05-19) - 'Jason'
197
+ # 1.2.0 - 2014-05-19 - 'Jason'
193
198
 
194
199
  - @matigo's NiceRank filter for the Global stream
195
200
 
196
- # 1.1.3 (2014-05-17) - 'Kevin'
201
+ # 1.1.3 - 2014-05-17 - 'Kevin'
197
202
 
198
203
  - Bookmark a conversation
199
204
  - List, delete, rename bookmarks
@@ -202,12 +207,12 @@ Features:
202
207
 
203
208
  - URL for the docs
204
209
 
205
- # 1.1.1 (2014-05-07) - 'State Of The Onion'
210
+ # 1.1.1 - 2014-05-07 - 'State Of The Onion'
206
211
 
207
212
  - Star and unstar a reposted post
208
213
  - Nowplaying shows an error message if iTunes is closed or not currently playing any track
209
214
 
210
- # 1.1.0 (2014-04-28) - 'Leviathan'
215
+ # 1.1.0 - 2014-04-28 - 'Leviathan'
211
216
 
212
217
  - Show who's writing, and who's the recipient
213
218
  - Less help text when writing, more concise
@@ -219,7 +224,7 @@ Features:
219
224
  - New command: photos stream
220
225
  - New command: delete message (private or in a channel)
221
226
 
222
- # 1.0.13 (2014-04-25) - 'Charlotte'
227
+ # 1.0.13 - 2014-04-25 - 'Charlotte'
223
228
 
224
229
  - New layout for '#nowplaying'
225
230
  - Compact index.db and pagination.db if necessary
@@ -243,14 +248,14 @@ Features:
243
248
 
244
249
  - Fixes the stubborn 'nowplaying' database bug
245
250
 
246
- # 1.0.8 (2014-04-16) - 'Laurent'
251
+ # 1.0.8 - 2014-04-16 - 'Laurent'
247
252
 
248
253
  - Better error messages/logs (specifically when HTTP errors)
249
254
  - Token is anonymized if in error logs
250
255
  - No more database error when canceling a 'nowplaying' post
251
256
  - Better mentions colorization
252
257
 
253
- # 1.0.7 (2014-04-13) - 'Hugo'
258
+ # 1.0.7 - 2014-04-13 - 'Hugo'
254
259
 
255
260
  - Machine-only messages in channels are now viewable
256
261
  - Don't output "Downloading" if options = raw in messages view
@@ -258,7 +263,7 @@ Features:
258
263
  - Removed username in front of ">>" in Auto (in case the authd user changed)
259
264
  - Compatibility with Windows is broken
260
265
 
261
- # 1.0.6 (2014-04-12) - 'Matthew'
266
+ # 1.0.6 - 2014-04-12 - 'Matthew'
262
267
 
263
268
  - Fixed a bug where post_max_chars was displayed instead of message_max_chars
264
269
  - Show raw JSON in messages even if no data
@@ -268,7 +273,7 @@ Features:
268
273
  - Fixed the colorization for mentions
269
274
  - Added tests for colorization
270
275
 
271
- # 1.0.4 (2014-04-06) - 'Jeremy'
276
+ # 1.0.4 - 2014-04-06 - 'Jeremy'
272
277
 
273
278
  - Fixed 'reply to an indexed stream' for Ruby < 2.1
274
279
  - More tests for Databases
@@ -287,7 +292,7 @@ Features:
287
292
  - Better layout for checkins
288
293
  - Better alert message if error 429
289
294
 
290
- # 1.0.1 (2014-04-04) - 'Phoenix'
295
+ # 1.0.1 - 2014-04-04 - 'Phoenix'
291
296
 
292
297
  Release!
293
298
 
@@ -8,6 +8,9 @@ module Ayadn
8
8
  end
9
9
 
10
10
  def self.open_databases
11
+ if Settings.options[:timeline][:show_debug] == true
12
+ puts "\n-Opening databases-\n"
13
+ end
11
14
  @users = self.init "#{Settings.config[:paths][:db]}/users.db"
12
15
  @index = self.init "#{Settings.config[:paths][:pagination]}/index.db"
13
16
  @pagination = self.init "#{Settings.config[:paths][:pagination]}/pagination.db"
@@ -15,6 +18,9 @@ module Ayadn
15
18
  @blacklist = self.init "#{Settings.config[:paths][:db]}/blacklist.db"
16
19
  @bookmarks = self.init "#{Settings.config[:paths][:db]}/bookmarks.db"
17
20
  @nicerank = self.init "#{Settings.config[:paths][:db]}/nicerank.db"
21
+ if Settings.options[:timeline][:show_debug] == true
22
+ puts "\n-Done-\n"
23
+ end
18
24
  end
19
25
 
20
26
  def self.all_dbs
@@ -23,7 +29,10 @@ module Ayadn
23
29
 
24
30
  def self.close_all
25
31
 
26
- if @nicerank.size > 10000
32
+ if @nicerank.size > 5000
33
+ if Settings.options[:timeline][:show_debug] == true
34
+ puts "\n-Purging NiceRank database-\n"
35
+ end
27
36
  limit = Time.now - (3600 * 48)
28
37
  @nicerank.each {|k,v| @nicerank.delete(k) if v[:cached] < limit}
29
38
  end
@@ -31,6 +40,9 @@ module Ayadn
31
40
  Debug.db all_dbs
32
41
 
33
42
  all_dbs.each do |db|
43
+ if Settings.options[:timeline][:show_debug] == true
44
+ puts "\n-Closing #{File.basename(db.file)}-"
45
+ end
34
46
  db.flush
35
47
  db.compact
36
48
  db.close
data/lib/ayadn/debug.rb CHANGED
@@ -43,6 +43,7 @@ module Ayadn
43
43
  end
44
44
 
45
45
  def self.err error, stack
46
+ Logs.rec.debug "+DEBUG STACK: #{stack}"
46
47
  if Settings.options[:timeline][:show_debug] == true
47
48
  puts "\n--*--\nERROR:\n"
48
49
  raise error
data/lib/ayadn/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Ayadn
3
- VERSION = "1.7.5"
3
+ VERSION = "1.7.6"
4
4
  end
data/lib/ayadn/view.rb CHANGED
@@ -96,7 +96,7 @@ module Ayadn
96
96
  opts.each do |k,v|
97
97
  v.delete_if {|ke,_| ke == :deleted || ke == :annotations} # don't show immutable values
98
98
  v.each do |x,y|
99
- t << :separator if @iter >= 1
99
+ t << :separator if @iter >= 1 && Settings.options[:timeline][:compact] == false
100
100
  unless y.is_a?(Hash)
101
101
  t << [ k.to_s.color(:cyan), x.to_s.color(:yellow), y.to_s.color(:green) ]
102
102
  else
data/lib/ayadn/workers.rb CHANGED
@@ -2,6 +2,10 @@
2
2
  module Ayadn
3
3
  class Workers
4
4
 
5
+ def initialize
6
+ @shell = Thor::Shell::Color.new
7
+ end
8
+
5
9
  def build_aliases_list(list)
6
10
  table = init_table
7
11
  table.title = "List of your channel aliases".color(:cyan) + "".color(:white)
@@ -275,20 +279,37 @@ module Ayadn
275
279
  if options[:channels]
276
280
  puts "Downloading list of channels and their users credentials.\n\nPlease wait, it could take a while if there are many results and users...".color(:cyan)
277
281
  else
278
- puts "Downloading new channels and unknown users ids.\nThis is a one time operation, ids are being recorded in a database.\n\nPlease wait, it could take a while if you have many channels...".color(:cyan)
282
+ puts "Downloading the channels and recording their users attributes (owners, writers, editors and readers).\n\nThe users are recorded in a database for later filtering and analyzing.\n\nPlease wait, it could take a while the first time if you have many channels.\n\n".color(:cyan)
279
283
  end
280
284
  chan = Struct.new(:id, :num_messages, :subscribers, :type, :owner, :annotations, :readers, :editors, :writers, :you_subscribed, :unread, :recent_message_id, :recent_message)
285
+ no_user = {}
281
286
  data.each do |ch|
282
287
  unless ch['writers']['user_ids'].empty?
288
+ @shell.say_status :parsing, "channel #{ch['id']}", :cyan
283
289
  usernames = []
284
290
  ch['writers']['user_ids'].each do |id|
291
+ next if no_user[id]
285
292
  db = Databases.users[id]
286
- unless db.nil?
287
- usernames << "@" + db.keys.first
288
- else
293
+ if db.nil?
294
+ @shell.say_status :downloading, "user #{id}"
289
295
  resp = API.new.get_user(id)
290
- usernames << "@" + resp['data']['username']
291
- Databases.add_to_users_db(id, resp['data']['username'], resp['data']['name'])
296
+
297
+ if resp['meta']['code'] != 200
298
+ @shell.say_status :error, "can't get user #{id}'s data, skipping", :red
299
+ no_user[id] = true
300
+ next
301
+ end
302
+
303
+ the_username = resp['data']['username']
304
+ @shell.say_status :recording, "@#{the_username}", :green
305
+
306
+ usernames << "@" + the_username
307
+ Databases.add_to_users_db(id, the_username, resp['data']['name'])
308
+ else
309
+ the_username = "@" + db.keys.first
310
+ @shell.say_status :match, "#{the_username} is already in the database", :blue
311
+
312
+ usernames << the_username
292
313
  end
293
314
  end
294
315
  usernames << Settings.config[:identity][:handle] unless usernames.length == 1 && usernames.first == Settings.config[:identity][:handle]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ayadn
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.5
4
+ version: 1.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dejonckheere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-20 00:00:00.000000000 Z
11
+ date: 2014-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor