podtergeist 0.0.2 → 0.0.3
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 +8 -8
- data/README.md +4 -5
- data/bin/podtergeist +15 -4
- data/lib/podtergeist/feed.rb +15 -8
- data/lib/podtergeist/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2JmOGFmMmFhZjY4YmQ5OWFjYTYyODlkODEwYmFmMmEwNzllNzQ4MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDg0YTc2YWI4ZjY3M2E2NGVjOTE4Mzk2NjZhOGZlOWE3OWQ5ZmJhOA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTQxYTg4ODkwYmRhMWJjZWQwMTBkNGJjNDYwZjMxNGUwN2Q3NzcyYWNhZmJj
|
10
|
+
NmRlN2YxOWVmMWIyM2U5MDAwYTE1MDY3M2E0N2U3MGUxMTA3NDIxN2RlNjAy
|
11
|
+
OWZiNWMzZDcxZGNhNWU4Mzk5NGRjOGUzNjk4NjZiYjQ5ZjNmYzU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZmNlMThkNzMzNWU4OGJmYjhlOWQ2ODQ3ZDMwZmNhYjJhZTk4ODU4ZTU3YTFk
|
14
|
+
MmNmZTg1YzQ3M2U5MDk1MmZhZDU0Nzg0ZmQ3ZWMzNzBkNzA2MDEwZDUxNTJk
|
15
|
+
NDE0ZTAwOWVjMTBmZmQ5Yzk2YmY5MGVlNTRiZDI5MWQ0ZGYxZmE=
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# Podtergeist
|
2
2
|
|
3
|
-
Command line interface to create or append to podcast-compatible rss feeds via arguments.
|
4
|
-
Uses [taglib](http://robinst.github.io/taglib-ruby/) to pull some information directly from podcast files.
|
3
|
+
Command line interface to create or append to podcast-compatible rss feeds via arguments.
|
4
|
+
Uses [taglib](http://robinst.github.io/taglib-ruby/) to pull some information directly from podcast files.
|
5
5
|
|
6
|
-
Please note; while this works it's a first release so the API may change drastically.
|
6
|
+
Please note; while this works it's a first release so the API may change drastically.
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
|
@@ -23,5 +23,4 @@ Please note; while this works it's a first release so the API may change drastic
|
|
23
23
|
|
24
24
|
## TODO
|
25
25
|
|
26
|
-
*
|
27
|
-
* more RSS
|
26
|
+
* more RSS, itunes specific features (etc)
|
data/bin/podtergeist
CHANGED
@@ -4,23 +4,34 @@ require 'podtergeist'
|
|
4
4
|
|
5
5
|
class PodtergeistCLI < Thor
|
6
6
|
default_task :help
|
7
|
-
|
7
|
+
|
8
8
|
method_option :destination, :required => true, :type => :string
|
9
|
-
|
10
9
|
method_option :show_title, :required => true, :type => :string
|
11
10
|
method_option :show_link, :required => true, :type => :string
|
12
11
|
method_option :show_description, :required => true, :type => :string
|
13
|
-
|
14
12
|
method_option :local_file, :required => true, :type => :string
|
15
13
|
method_option :host, :required => true, :type => :string
|
16
14
|
method_option :episode_link, :required => true, :type => :string
|
17
15
|
method_option :episode_pubdate, :required => true, :type => :string
|
18
|
-
|
16
|
+
|
19
17
|
desc 'add', 'Add item to a podcast feed (creating the feed if does not exist)'
|
20
18
|
def add
|
21
19
|
Podtergeist::Feed.add(options[:destination],options)
|
22
20
|
end
|
23
21
|
|
22
|
+
method_option :destination, :required => true, :type => :string
|
23
|
+
method_option :show_title, :required => true, :type => :string
|
24
|
+
method_option :show_link, :required => true, :type => :string
|
25
|
+
method_option :show_description, :required => true, :type => :string
|
26
|
+
method_option :local_directory, :required => true, :type => :string
|
27
|
+
method_option :host, :required => true, :type => :string
|
28
|
+
method_option :episode_link, :required => false, :type => :string
|
29
|
+
method_option :episode_pubdate, :required => false, :type => :string
|
30
|
+
|
31
|
+
desc 'existing', 'Add items in existing directory to a podcast feed (creating the feed if does not exist)'
|
32
|
+
def existing
|
33
|
+
Podtergeist::Feed.existing(options[:destination],options)
|
34
|
+
end
|
24
35
|
end
|
25
36
|
|
26
37
|
PodtergeistCLI.start
|
data/lib/podtergeist/feed.rb
CHANGED
@@ -11,6 +11,13 @@ module Podtergeist
|
|
11
11
|
create_channel(feed,params) unless feed_exists?(feed)
|
12
12
|
append_item(feed,params)
|
13
13
|
end
|
14
|
+
|
15
|
+
def existing(feed,params)
|
16
|
+
create_channel(feed,params) unless feed_exists?(feed)
|
17
|
+
Dir.glob("#{params['local_directory']}/*").each do |file|
|
18
|
+
append_item(feed,params,file)
|
19
|
+
end
|
20
|
+
end
|
14
21
|
|
15
22
|
private
|
16
23
|
|
@@ -36,11 +43,10 @@ module Podtergeist
|
|
36
43
|
end
|
37
44
|
|
38
45
|
# add item
|
39
|
-
def append_item(path,params)
|
40
|
-
|
41
|
-
remote = "#{params['host']}/#{File.basename(local)}"
|
46
|
+
def append_item(path,params,file=params['file_file'])
|
47
|
+
remote = "#{params['host']}/#{File.basename(file)}"
|
42
48
|
|
43
|
-
TagLib::FileRef.open(
|
49
|
+
TagLib::FileRef.open(file) do |fileref|
|
44
50
|
unless fileref.null?
|
45
51
|
tag = fileref.tag
|
46
52
|
properties = fileref.audio_properties
|
@@ -49,17 +55,17 @@ module Podtergeist
|
|
49
55
|
|
50
56
|
item = RSS::Rss::Channel::Item.new
|
51
57
|
item.title = tag.title
|
52
|
-
item.link = params['episode_link']
|
58
|
+
item.link = params['episode_link'] unless params['episode_link'].nil?
|
53
59
|
|
54
|
-
item.pubDate = Date.parse(params['episode_pubdate']).rfc822
|
60
|
+
item.pubDate = Date.parse(params['episode_pubdate']).rfc822 unless params['episode_pubdate'].nil?
|
55
61
|
|
56
62
|
item.guid = RSS::Rss::Channel::Item::Guid.new
|
57
|
-
item.guid.content = params['episode_link']
|
63
|
+
item.guid.content = params['episode_link'] unless params['episode_link'].nil?
|
58
64
|
item.guid.isPermaLink = true
|
59
65
|
|
60
66
|
item.description = tag.title
|
61
67
|
|
62
|
-
item.enclosure = RSS::Rss::Channel::Item::Enclosure.new(remote, properties.length, MIME::Types.type_for(
|
68
|
+
item.enclosure = RSS::Rss::Channel::Item::Enclosure.new(remote, properties.length, MIME::Types.type_for(file).first)
|
63
69
|
|
64
70
|
rss.items << item
|
65
71
|
|
@@ -69,6 +75,7 @@ module Podtergeist
|
|
69
75
|
end
|
70
76
|
end
|
71
77
|
end
|
78
|
+
|
72
79
|
end
|
73
80
|
end
|
74
81
|
end
|
data/lib/podtergeist/version.rb
CHANGED