papercallio 0.4.1 → 0.5.0
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/.gitignore +6 -0
- data/Gemfile.lock +1 -1
- data/bin/papercallio +10 -0
- data/lib/papercallio.rb +1 -0
- data/lib/papercallio/devopsdays_output.rb +76 -0
- data/lib/papercallio/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 499c391e80f588eb789ffac026e97aae1658a9fa
|
4
|
+
data.tar.gz: 95106b1d0517328347356f42fd4f9c5c93614160
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46f0303ea0e2084db18f183ea1ab403b4364958b2cb51bef6dda8cc39ac9f2af0968ca51dca555885a7660e8140f2a768e6ba30bf850a96b6bea638cbb071872
|
7
|
+
data.tar.gz: 3e1962a097ee3b5980f9824fa54f6b6171f098538d308e88239d6f3831daef6854cd28de6614412d52e913b73c778d5e0497d4c215422a00ea51124541b96569
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/bin/papercallio
CHANGED
@@ -46,6 +46,7 @@ command :submissions do |c|
|
|
46
46
|
c.switch 'needs_rating', :desc => 'Filter results needs rating. Default (false).'
|
47
47
|
c.switch 'include_feedback', :desc => 'Include the feedback for all submissions in the csv (Not currently implemented).'
|
48
48
|
c.switch 'include_ratings', :desc => 'Include the ratings for all submissions in the csv'
|
49
|
+
c.switch 'devopsdays_output', :desc => 'Output the markdown for accepted speakers and submissions for the DevOpsDays website. Default (false). NOTE: may need to use --state=accepted if no longer in submitted state.'
|
49
50
|
|
50
51
|
c.flag 'state', :default_value => nil,
|
51
52
|
:arg_name => 'state of submissions. ',
|
@@ -64,6 +65,7 @@ command :submissions do |c|
|
|
64
65
|
c.action do |global_options,options,args|
|
65
66
|
pcc = PaperCallClient.new(api_token, options)
|
66
67
|
response = pcc.submissions
|
68
|
+
%w(speakers program images).each{|dir| FileUtils.mkdir_p( "./#{dir}")} if options[:devopsdays_output]
|
67
69
|
|
68
70
|
submissions = []
|
69
71
|
headers = []
|
@@ -134,6 +136,10 @@ command :submissions do |c|
|
|
134
136
|
end
|
135
137
|
headerset = true
|
136
138
|
submissions << line if include_line
|
139
|
+
if options[:devopsdays_output]
|
140
|
+
dodo = DevOpsDaysOutput.new(line) #if line[:state] == 'accepted'
|
141
|
+
#dodo.download_twitter_image
|
142
|
+
end
|
137
143
|
line = {}
|
138
144
|
end
|
139
145
|
File.open(global_options[:file], 'w') do |f|
|
@@ -150,6 +156,10 @@ command :submissions do |c|
|
|
150
156
|
end
|
151
157
|
end
|
152
158
|
puts "submissions have been output to #{global_options[:file]}"
|
159
|
+
if options[:devopsdays_output]
|
160
|
+
puts "Since `--devopsdays_output` flag was used a folder for 'speakers' and 'program' should have your markdown"
|
161
|
+
puts "NOTE if you have already moved things to accepted, may have to use the `--state=accepted` flag"
|
162
|
+
end
|
153
163
|
end
|
154
164
|
end
|
155
165
|
|
data/lib/papercallio.rb
CHANGED
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'httparty'
|
2
|
+
require 'open-uri'
|
3
|
+
|
4
|
+
class DevOpsDaysOutput
|
5
|
+
include HTTParty
|
6
|
+
base_uri 'https://api.twitter.com'
|
7
|
+
|
8
|
+
|
9
|
+
def initialize(submission)
|
10
|
+
#puts submission['talk_talk_format']
|
11
|
+
@submission = submission
|
12
|
+
@talk_type = "talk" if submission['talk_talk_format'].include?('Talk')
|
13
|
+
@talk_type = "ignite" if submission['talk_talk_format'].include?('Ignite')
|
14
|
+
@reformat_name = submission['profile_name'].downcase.tr(" ", "-")
|
15
|
+
@file_name = "#{@reformat_name}.md"
|
16
|
+
@options = { screen_name: submission['profile_twitter'] }
|
17
|
+
output_program
|
18
|
+
output_speaker
|
19
|
+
#puts submission['profile_twitter']
|
20
|
+
#if submission['profile_twitter']
|
21
|
+
# download_twitter_image
|
22
|
+
#else
|
23
|
+
# puts "no twitter profile for #{submission['profile_name']}, so did not attempt to download"
|
24
|
+
#end
|
25
|
+
end
|
26
|
+
|
27
|
+
def output_program
|
28
|
+
session_markdown = [
|
29
|
+
"+++",
|
30
|
+
"Talk_date = \"\"",
|
31
|
+
"Talk_start_time = \"\"",
|
32
|
+
"Talk_end_time = \"\"",
|
33
|
+
"Title = \"#{@submission['talk_title']}\"",
|
34
|
+
"Type = \"#{@talk_type}\"",
|
35
|
+
"Speakers = [\"#{@submission['profile_name']}\"]",
|
36
|
+
"+++",
|
37
|
+
"#{@submission['talk_description']}"
|
38
|
+
].join("\n") + "\n"
|
39
|
+
|
40
|
+
File.open("program/#{@file_name}", 'w') do |f|
|
41
|
+
f.puts session_markdown
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def output_speaker
|
46
|
+
speaker_markdown = [
|
47
|
+
"+++",
|
48
|
+
"Title = \"#{@submission['profile_name']}\"",
|
49
|
+
"Twitter = \"#{@submission['profile_twitter']}\"",
|
50
|
+
"Website = \"#{@submission['profile_url']}\"",
|
51
|
+
"type = \"speaker\"",
|
52
|
+
"linktitle = \"#{@reformat_name}\"",
|
53
|
+
"image = \"#{@reformat_name}.jpg\"",
|
54
|
+
"+++",
|
55
|
+
"#{@submission['profile_bio']}"
|
56
|
+
].join("\n") + "\n"
|
57
|
+
|
58
|
+
File.open("speakers/#{@file_name}", 'w') do |f|
|
59
|
+
f.puts speaker_markdown
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
def download_twitter_image
|
65
|
+
twitter_info = self.class.get('/1.1/users/show.json', @options)
|
66
|
+
puts twitter_info
|
67
|
+
twitter_image_url = twitter_info['profile_image_url_https']
|
68
|
+
puts twitter_info['profile_image_url_https']
|
69
|
+
download = open(URI.parse(twitter_image_url))
|
70
|
+
# likely should honor the original format jpg/gif/png or whatever
|
71
|
+
IO.copy_stream(download, "images/#{@reformat_name}.jpg")
|
72
|
+
# if no twitter image, then should likely look to see if website is linked in then try to pull from there
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
end
|
data/lib/papercallio/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: papercallio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aaronblythe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -130,6 +130,7 @@ files:
|
|
130
130
|
- features/support/env.rb
|
131
131
|
- lib/papercallio.rb
|
132
132
|
- lib/papercallio/client.rb
|
133
|
+
- lib/papercallio/devopsdays_output.rb
|
133
134
|
- lib/papercallio/version.rb
|
134
135
|
- papercallio.gemspec
|
135
136
|
- papercallio.rdoc
|