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.
- data/README.md +1 -1
- data/lib/hypembot/version.rb +1 -1
- data/lib/hypembot.rb +17 -14
- 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)
|
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.
|
data/lib/hypembot/version.rb
CHANGED
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 =>
|
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
|
-
|
56
|
-
|
57
|
-
|
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
|
-
|
68
|
-
|
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
|
-
|
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *70280120056800
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: eventmachine
|
27
|
-
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: *
|
35
|
+
version_requirements: *70280120056380
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: growl
|
38
|
-
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: *
|
46
|
+
version_requirements: *70280120055960
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mp3info
|
49
|
-
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: *
|
57
|
+
version_requirements: *70280120055540
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
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: *
|
68
|
+
version_requirements: *70280120055120
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
|
-
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: *
|
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
|