ayadn 1.7.5 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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