ayadn 1.0.7 → 1.0.8

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: 5e18bb04ce138e330fd86117c3421493d601f071
4
- data.tar.gz: 791e8592572655c87fe2dc325485258941a685c1
3
+ metadata.gz: 06f225381b151b3aff0052e1a18a51ca69c7d56c
4
+ data.tar.gz: 95679ba480b2a43a510ea02d1e0c4782aaa899b9
5
5
  SHA512:
6
- metadata.gz: 4b26d049c720a75eda60b63476043158f881d80228d761a6795865ee21d8da93e15fcd20498da728712b624a54a42fb3ca3cedd0fc5ca0c1d9e3a3fe5409f4d1
7
- data.tar.gz: 48838c2c978e31f86db3124e4f533a8255cafd731945a932f845b542a0c184b9157c4b10b4172d113ec6ab9dfdf758e7bc50efaaf2594156d12bd10b0077a19d
6
+ metadata.gz: 6bbf0b6b7a279928cd39de44514475919335a1467428bbbc96035de702e54c3b2f3285a5c823936c69c370498168d2858cc27bd298a49271fad6ab677270dddf
7
+ data.tar.gz: 751f7ea8bb9e6c0b3f02f1768b3a3908b5c3cb44b51f5c92fdceec2621cfc3a52bb81347f23879820344294b6198c6327d733543428b40a26bfe4758db605f2f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # 1.0.8
2
+
3
+ - Better error messages/logs (specifically when HTTP errors)
4
+ - Token is anonymized if in error logs
5
+ - No more database error when canceling a 'nowplaying' post
6
+ - Better mentions colorization
7
+
1
8
  # 1.0.7
2
9
 
3
10
  - Machine-only messages in channels are now viewable
data/lib/ayadn/action.rb CHANGED
@@ -791,7 +791,7 @@ module Ayadn
791
791
 
792
792
  def nowplaying
793
793
  begin
794
- #abort(Status.error_only_osx) unless Settings.config[:platform] =~ /darwin/
794
+ abort(Status.error_only_osx) unless Settings.config[:platform] =~ /darwin/
795
795
  itunes = get_track_infos
796
796
  itunes.each do |el|
797
797
  abort(Status.empty_fields) if el.length == 0
@@ -805,6 +805,8 @@ module Ayadn
805
805
  rescue => e
806
806
  puts Status.wtf
807
807
  Errors.global_error("action/nowplaying", itunes, e)
808
+ ensure
809
+ Databases.close_all
808
810
  end
809
811
  end
810
812
 
data/lib/ayadn/cnx.rb CHANGED
@@ -19,34 +19,35 @@ module Ayadn
19
19
  end
20
20
 
21
21
  def self.check(response)
22
+ message = JSON.parse(response)['meta']['error_message']
22
23
  case response.code
23
24
  when 200
24
25
  response
25
26
  when 204
26
- puts "\n'No content'".color(:red)
27
- Errors.global_error("cnx.rb", response.headers, "NO CONTENT")
27
+ puts "\n#{message}".color(:red)
28
+ Errors.global_error("cnx.rb", [message, response.headers], "NO CONTENT")
28
29
  when 400
29
- puts "\n'Bad request'".color(:red)
30
- Errors.global_error("cnx.rb", response.headers, "BAD REQUEST")
30
+ puts "\n#{message}".color(:red)
31
+ Errors.global_error("cnx.rb", [message, response.headers], "BAD REQUEST")
31
32
  when 401
32
- puts "\n'Unauthorized'".color(:red)
33
- Errors.global_error("cnx.rb", response.headers, "UNAUTHORIZED")
33
+ puts "\n#{message}".color(:red)
34
+ Errors.global_error("cnx.rb", [message, response.headers], "UNAUTHORIZED")
34
35
  when 403
35
- puts "\n'Forbidden'".color(:red)
36
- Errors.global_error("cnx.rb", response.headers, "FORBIDDEN")
36
+ puts "\n#{message}".color(:red)
37
+ Errors.global_error("cnx.rb", [message, response.headers], "FORBIDDEN")
37
38
  when 405
38
- puts "\n'Method not allowed'".color(:red)
39
- Errors.global_error("cnx.rb", response.headers, "METHOD NOT ALLOWED")
39
+ puts "\n#{message}".color(:red)
40
+ Errors.global_error("cnx.rb", [message, response.headers], "METHOD NOT ALLOWED")
40
41
  when 429
41
- puts "\n'Too many requests'".color(:red)
42
+ puts "\n#{message}".color(:red)
42
43
  puts "\n\nAyadn made too many requests to the App.net API. You should wait at least ".color(:cyan) + "#{response.headers[:retry_after]} ".color(:red) + "seconds before trying again. Maybe you launched a lot of Ayadn instances at the same time? That's no problem, but in this case you should increase the value of the scroll timer (with `ayadn set scroll timer 5` for example). App.net allows 5000 requests per hour per account maximum.".color(:cyan)
43
- Errors.global_error("cnx.rb", response.headers, "TOO MANY REQUESTS")
44
+ Errors.global_error("cnx.rb", [message, response.headers], "TOO MANY REQUESTS")
44
45
  when 500
45
- puts "\n'App.net server error'".color(:red)
46
- Errors.global_error("cnx.rb", response.headers, "APP.NET SERVER ERROR")
46
+ puts "\n#{message}".color(:red)
47
+ Errors.global_error("cnx.rb", [message, response.headers], "APP.NET SERVER ERROR")
47
48
  when 507
48
- puts "\n'Insufficient storage'".color(:red)
49
- Errors.global_error("cnx.rb", response.headers, "INSUFFICIENT STORAGE")
49
+ puts "\n#{message}".color(:red)
50
+ Errors.global_error("cnx.rb", [message, response.headers], "INSUFFICIENT STORAGE")
50
51
  else
51
52
  response
52
53
  end
data/lib/ayadn/errors.rb CHANGED
@@ -2,13 +2,12 @@
2
2
  module Ayadn
3
3
  class Errors
4
4
  def self.global_error(where, args, error)
5
- [where, args, error].each do |el|
6
- self.detokenize(el)
7
- end
5
+ elems = []
6
+ args.each {|arg| elems << self.detokenize(arg)}
8
7
  Logs.rec.error "--BEGIN--"
9
8
  Logs.rec.error "#{error}"
10
9
  Logs.rec.debug "LOCATION: #{where}"
11
- Logs.rec.debug "DATA: #{args}" unless args.nil?
10
+ Logs.rec.debug "DATA: #{elems}" unless elems.nil?
12
11
  Logs.rec.debug "STACK: #{caller}"
13
12
  Logs.rec.error "--END--"
14
13
  puts "\n(error logged in #{Settings.config[:paths][:log]}/ayadn.log)\n".color(:blue)
data/lib/ayadn/post.rb CHANGED
@@ -15,7 +15,7 @@ module Ayadn
15
15
  # post = classic
16
16
  # else
17
17
  require "readline"
18
- post = readline
18
+ readline
19
19
  # end
20
20
  # post
21
21
  end
data/lib/ayadn/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Ayadn
3
- VERSION = "1.0.7"
3
+ VERSION = "1.0.8"
4
4
  end
data/lib/ayadn/workers.rb CHANGED
@@ -277,18 +277,22 @@ module Ayadn
277
277
  end
278
278
 
279
279
  def colorize_text(text, mentions)
280
+ reg_split = '[:\-;,?!\'&`^=+<>*%()\/"“”’°£$€.]'
281
+ reg_tag = '#([A-Za-z0-9_]{1,255})(?![\w+])'
282
+ reg_mention = '@([A-Za-z0-9_]{1,20})(?![\w+])'
283
+ reg_sentence = '^.+[\r\n]*'
280
284
  handles = Array.new
281
285
  mentions.each {|username| handles << "@#{username}"}
282
286
  words = Array.new
283
287
  sentences = Array.new
284
288
  hashtag_color = Settings.options[:colors][:hashtags]
285
289
  mention_color = Settings.options[:colors][:mentions]
286
- text.scan(/^.+[\r\n]*/) do |sentence|
290
+ text.scan(/#{reg_sentence}/) do |sentence|
287
291
  sentence.split(' ').each do |word|
288
292
  if word =~ /#\w+/
289
- words << word.gsub(/#([A-Za-z0-9_]{1,255})(?![\w+])/, '#\1'.color(hashtag_color))
293
+ words << word.gsub(/#{reg_tag}/, '#\1'.color(hashtag_color))
290
294
  elsif word =~ /@\w+/
291
- splitted = word.split(/[:\-;,?!'&`^=+<>*%()]/) if word =~ /[:\-;,?!'&`^=+<>*%()]/
295
+ splitted = word.split(/#{reg_split}/) if word =~ /#{reg_split}/
292
296
  if splitted
293
297
  splitted.each {|d| @str = d if d =~ /@\w+/}
294
298
  @str = word if @str.nil?
@@ -296,7 +300,7 @@ module Ayadn
296
300
  @str = word
297
301
  end
298
302
  if handles.include?(@str.downcase)
299
- words << word.gsub(/@([A-Za-z0-9_]{1,20})(?![\w+])/, '@\1'.color(mention_color))
303
+ words << word.gsub(/#{reg_mention}/, '@\1'.color(mention_color))
300
304
  else
301
305
  words << word
302
306
  end
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.0.7
4
+ version: 1.0.8
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-04-13 00:00:00.000000000 Z
11
+ date: 2014-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor