hypembot 0.0.1 → 0.0.2

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.
Files changed (4) hide show
  1. data/README.md +1 -1
  2. data/lib/hypembot/version.rb +1 -1
  3. data/lib/hypembot.rb +17 -14
  4. metadata +14 -14
data/README.md CHANGED
@@ -20,5 +20,5 @@ Works on Mac OSX Lion. Uses kqueue by default.
20
20
 
21
21
  ## Copyright
22
22
 
23
- `hypembot` is Copyright (c) 2011 [Kirk Scheibelhut](http://scheibo.com/about) and distributed under the MIT license.<br />
23
+ `hypembot` is Copyright (c) 2012 [Kirk Scheibelhut](http://scheibo.com/about) and distributed under the MIT license.<br />
24
24
  See the `LICENSE` file for further details regarding licensing and distribution.
@@ -1,3 +1,3 @@
1
1
  module Hypembot
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/hypembot.rb CHANGED
@@ -17,7 +17,7 @@ class Hypembot::Bot
17
17
  :scanner => :em,
18
18
  :pre_load => true,
19
19
  :glob => 'f_*',
20
- :stable => 30,
20
+ :stable => 18,
21
21
  :interval => 10)
22
22
  end
23
23
 
@@ -51,10 +51,12 @@ class Hypembot::Bot
51
51
  end
52
52
 
53
53
  def process(file, mp3)
54
- info = {}
55
- info[:title] = mp3.tag.title.strip.empty? ? "Untitled" : mp3.tag.title.strip
56
- info[:artist] = mp3.tag.artist.strip
57
- info[:album] = mp3.tag.album.strip
54
+ info = Hash.new("")
55
+ if mp3.tag
56
+ info[:title] = clean(mp3.tag.title).empty? ? "Untitled" : clean(mp3.tag.title)
57
+ info[:artist] = clean(mp3.tag.artist).empty? ? "Unknown Artist" : clean(mp3.tag.artist)
58
+ info[:album] = clean(mp3.tag.album)
59
+ end
58
60
  info[:length] = format_time(mp3.length)
59
61
  info[:bitrate] = "#{mp3.bitrate} kbps" + (mp3.vbr ? "" : " (VBR)")
60
62
 
@@ -63,14 +65,9 @@ class Hypembot::Bot
63
65
  end
64
66
 
65
67
  def growl(info)
66
- message = ""
67
- if !info[:artist].empty? and !info[:album].empty?
68
- message << "#{info[:artist]}\n#{info[:album]}\n"
69
- elsif info[:album].empty?
70
- message << "#{info[:artist]}\n"
71
- # if we have album but no artist, don't show anything
72
- end
73
- message << "(#{info[:length]}) - #{info[:bitrate]}"
68
+ message = "#{info[:artist]}"
69
+ message << "- #{info[:album]}" unless info[:album].empty?
70
+ message << "\n(#{info[:length]}) - #{info[:bitrate]}"
74
71
 
75
72
  Growl.notify do |n|
76
73
  n.title = info[:title]
@@ -78,6 +75,10 @@ class Hypembot::Bot
78
75
  end
79
76
  end
80
77
 
78
+ def clean(tag)
79
+ tag ? tag.strip : ""
80
+ end
81
+
81
82
  def format_time(s)
82
83
  mins = s.to_i / 60
83
84
  secs = s.to_i % 60
@@ -87,6 +88,8 @@ class Hypembot::Bot
87
88
  def filename(info)
88
89
  title = info[:title].split.join("_")
89
90
  artist = info[:artist].split.join("_")
90
- File.expand_path("#{title}-#{artist}.mp3", @dir)
91
+ name = "#{title}-#{artist}"
92
+ name << "-#{Time.now.to_i}" if title == "Untitled" and artist == "Unknown_Artist"
93
+ File.expand_path("#{name}.mp3", @dir)
91
94
  end
92
95
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hypembot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-22 00:00:00.000000000Z
12
+ date: 2012-01-23 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: directory_watcher
16
- requirement: &70255151078220 !ruby/object:Gem::Requirement
16
+ requirement: &70280120056800 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70255151078220
24
+ version_requirements: *70280120056800
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: eventmachine
27
- requirement: &70255151077800 !ruby/object:Gem::Requirement
27
+ requirement: &70280120056380 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70255151077800
35
+ version_requirements: *70280120056380
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: growl
38
- requirement: &70255151077380 !ruby/object:Gem::Requirement
38
+ requirement: &70280120055960 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70255151077380
46
+ version_requirements: *70280120055960
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mp3info
49
- requirement: &70255151076960 !ruby/object:Gem::Requirement
49
+ requirement: &70280120055540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70255151076960
57
+ version_requirements: *70280120055540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rake
60
- requirement: &70255151076540 !ruby/object:Gem::Requirement
60
+ requirement: &70280120055120 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70255151076540
68
+ version_requirements: *70280120055120
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &70255151076040 !ruby/object:Gem::Requirement
71
+ requirement: &70280120054620 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 1.0.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70255151076040
79
+ version_requirements: *70280120054620
80
80
  description: Play music while browsing - have it appear in your Music folder.
81
81
  email:
82
82
  - kjs@scheibo.com