get_freaky 0.3.2 → 0.3.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 +4 -4
- data/lib/get_freaky/conference.rb +13 -6
- data/lib/get_freaky/version.rb +1 -1
- data/lib/get_freaky/video.rb +19 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8b8b0276b4246dbdd45894b4abb24c817ff989a
|
4
|
+
data.tar.gz: 0055740fab0f9d3be0caec06b4bfe52f1de3230b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e182c7b8b7631cf8c05162310e3c3b84b89f4097a4e7f8c4045977b71d6ab812060e2e545ec85f94edad0a0c5467b70ec592d0832d718fcaf758b3d57842e437
|
7
|
+
data.tar.gz: fafae8df8da8c3cace62350abdff49e1ed0e789e08a30a1d77e60f296c47af8025fe2768ebaa818be348b208263cd65ecde760ba52062160bb2a66332fd4c190
|
@@ -10,9 +10,9 @@ class Conference
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def self.find(name)
|
13
|
-
|
14
|
-
|
15
|
-
if response
|
13
|
+
slug = create_slug(name)
|
14
|
+
response = get("/conferences/#{slug}.json")
|
15
|
+
if response.not_found?
|
16
16
|
NullConference.new("No conference was found with that name")
|
17
17
|
elsif response.success?
|
18
18
|
self.new(
|
@@ -21,8 +21,7 @@ class Conference
|
|
21
21
|
response["events"]
|
22
22
|
)
|
23
23
|
else
|
24
|
-
|
25
|
-
raise response.response
|
24
|
+
raise response.status
|
26
25
|
end
|
27
26
|
end
|
28
27
|
|
@@ -32,7 +31,7 @@ class Conference
|
|
32
31
|
end
|
33
32
|
|
34
33
|
def event_list
|
35
|
-
if valid?
|
34
|
+
if valid?
|
36
35
|
events.map { |event| event["short_code"] }
|
37
36
|
else
|
38
37
|
"There was no conference found by that name."
|
@@ -42,4 +41,12 @@ class Conference
|
|
42
41
|
def valid?
|
43
42
|
true
|
44
43
|
end
|
44
|
+
|
45
|
+
def self.create_slug(title)
|
46
|
+
title.
|
47
|
+
downcase.
|
48
|
+
# we cannot use slugify method below, one conference name has `:` char which must exist in url name (slug)
|
49
|
+
gsub(/[ ._]/, "-").
|
50
|
+
gsub(/([|])/) { |match| CGI.escape(match) }
|
51
|
+
end
|
45
52
|
end
|
data/lib/get_freaky/version.rb
CHANGED
data/lib/get_freaky/video.rb
CHANGED
@@ -41,6 +41,25 @@ class Video
|
|
41
41
|
def download
|
42
42
|
puts "downloading #{title}"
|
43
43
|
YoutubeDL.download url, { output: "#{title}.mp4" }
|
44
|
+
rescue Cocaine::ExitStatusError => e
|
45
|
+
regex_errors = [
|
46
|
+
/YouTube said\: This video does not exist\./,
|
47
|
+
/YouTube said\: Please sign in to view this video\./,
|
48
|
+
/Incomplete YouTube ID/,
|
49
|
+
/HTTP Error 404\: Not Found/, # for vimeo
|
50
|
+
]
|
51
|
+
|
52
|
+
case e.message
|
53
|
+
when *regex_errors
|
54
|
+
puts $LAST_MATCH_INFO[0]
|
55
|
+
return
|
56
|
+
when /content too short/
|
57
|
+
puts "#{$LAST_MATCH_INFO[0]} - retry"
|
58
|
+
return download
|
59
|
+
end
|
60
|
+
|
61
|
+
# raise different uncaught exceptions
|
62
|
+
raise e
|
44
63
|
end
|
45
64
|
|
46
65
|
def event
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: get_freaky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Mariano Cabrera
|
@@ -126,16 +126,16 @@ dependencies:
|
|
126
126
|
name: bundler
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 1.6.5
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: 1.6.5
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rake
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -211,3 +211,4 @@ signing_key:
|
|
211
211
|
specification_version: 4
|
212
212
|
summary: Get Freaky!
|
213
213
|
test_files: []
|
214
|
+
has_rdoc:
|