json_resume 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abf28aa8d12be0d8e2e5126a32e29e41b106cf28
4
- data.tar.gz: 4d0a9b71e99ef151d83a5e140927942cb518a210
3
+ metadata.gz: d947985b77239ae5e683bda7bf79ceb94d0939a6
4
+ data.tar.gz: 0ba72d5177a5b0865053614131bb4b71ee91d3b4
5
5
  SHA512:
6
- metadata.gz: 89489b95fd4b96e0fb49ca794e7ad7ca6ef3b0b88b5c4c4b81b7f527507c0f492687957331f224465300b068f71823fad605ace52b28b154ce9b7d733c7e3572
7
- data.tar.gz: b29cd25f1a0a7807375bb2ecf84115cf238d7f7a53b91e8c337c54b1b49fbff49a07091c26d96b6288e2f934cb990a3fa749a9bd2499a574f4199ddd68ffa799
6
+ metadata.gz: 65c7a82bffcb5a6b669e32972bd0c5fb4a9bced35e6b202e133c25184ae8a4ef7bbc74c7655113b120ee9efe4bf39ef103403bb78417cef614e9487b5254b95e
7
+ data.tar.gz: b322404fa58413748947ab42813181b4a1f35140316f55a0be360e2d9925f6245604e81e40aedc2a3ad13124cfb7fe123a03b2bd538452ef2f98375cc9f33658
data/bin/json_resume CHANGED
@@ -9,6 +9,12 @@ require 'pdfkit'
9
9
  require 'rest-client'
10
10
 
11
11
  WL_URL = "https://www.writelatex.com/docs"
12
+
13
+ class String
14
+ def red; "\033[31m#{self}\033[0m" end
15
+ def green; "\033[32m#{self}\033[0m" end
16
+ end
17
+
12
18
  class JsonResumeCLI < Thor
13
19
 
14
20
  desc "convert /path/to/json/file", "converts the json to pretty resume format"
@@ -19,7 +25,11 @@ class JsonResumeCLI < Thor
19
25
  def convert(json_input)
20
26
  set_i18n(options[:locale])
21
27
  puts "Generating the #{options[:out]} type..."
22
- puts send('convert_to_'+options[:out], json_input, get_template(options))
28
+ begin
29
+ puts send('convert_to_'+options[:out], json_input, get_template(options))
30
+ rescue Encoding::InvalidByteSequenceError
31
+ puts "ERROR: You need to 'export LC_CTYPE=en_US.UTF-8' ...".green
32
+ end
23
33
  end
24
34
 
25
35
  desc "sample", "Generates a sample json file in cwd"
@@ -28,7 +38,7 @@ class JsonResumeCLI < Thor
28
38
  json_file_paths = Dir["#{@@orig_locn}/../examples/*.json"]
29
39
  json_file_names = json_file_paths.map{|x| File.basename(x)}
30
40
  FileUtils.cp json_file_paths, Dir.pwd
31
- msg = "Generated #{json_file_names.join(" ")} in #{cwd}/"
41
+ msg = "Generated #{json_file_names.join(" ")} in #{cwd}/".green
32
42
  msg += "\nYou can now modify it and call: json_resume convert <file.json>"
33
43
  puts msg
34
44
  end
@@ -42,7 +52,7 @@ class JsonResumeCLI < Thor
42
52
  theme = options[:theme]
43
53
  template_path = "#{@@orig_locn}/../templates/#{theme}_#{out_type}.mustache"
44
54
  if !(File.exists? template_path) and theme != 'default'
45
- puts "Theme #{theme} doesn't exist for #{options[:out]} type yet! Using default..."
55
+ puts "Theme #{theme} doesn't exist for #{options[:out]} type yet! Using default...".red
46
56
  template_path = "#{@@orig_locn}/../templates/default_#{out_type}.mustache"
47
57
  end
48
58
  return template_path
@@ -81,9 +91,14 @@ class JsonResumeCLI < Thor
81
91
  }
82
92
  kit = PDFKit.new(html_file, pdf_options)
83
93
 
84
- kit.to_file(dest+"/resume.pdf")
94
+ begin
95
+ kit.to_file(dest+"/resume.pdf")
96
+ rescue Errno::ENOENT => e
97
+ puts "\nTry: sudo apt-get update; sudo apt-get install libxtst6 libfontconfig1".green
98
+ raise e
99
+ end
85
100
  FileUtils.rm_rf "#{dest}/#{tmp_dir}"
86
- msg = "\nGenerated resume.pdf at #{dest}."
101
+ msg = "\nGenerated resume.pdf at #{dest}.".green
87
102
  end
88
103
 
89
104
  def convert_to_tex(json_input, template, dest=Dir.pwd, filename="resume.tex")
@@ -94,13 +109,13 @@ class JsonResumeCLI < Thor
94
109
  file1 = "resume"; filename = "#{file1}.tex"
95
110
  convert_to_tex(json_input, template, dest, filename)
96
111
  if `which pdflatex` == ""
97
- puts "It looks like pdflatex is not installed..."
112
+ puts "It looks like pdflatex is not installed...".red
98
113
  puts "Either install it with instructions at..."
99
114
  puts "http://dods.ipsl.jussieu.fr/fast/pdflatex_install.html"
100
115
  return use_write_latex(dest, filename)
101
116
  end
102
117
  if `kpsewhich moderncv.cls` == ""
103
- puts "It looks liks moderncv package for tex is not installed"
118
+ puts "It looks liks moderncv package for tex is not installed".red
104
119
  puts "Read about it here: http://ctan.org/pkg/moderncv"
105
120
  return use_write_latex(dest, filename)
106
121
  end
@@ -116,14 +131,14 @@ class JsonResumeCLI < Thor
116
131
  if reply == "" || reply == "y"
117
132
  return convert_using_writeLatex(dest, filename)
118
133
  end
119
- msg = "Latex file created at #{dest}/#{filename}"
134
+ msg = "Latex file created at #{dest}/#{filename}".green
120
135
  end
121
136
 
122
137
  def convert_using_writeLatex(dest, filename)
123
138
  tex_file = File.read("#{dest}/#{filename}")
124
139
  RestClient.post(WL_URL, :snip => tex_file, :splash => "none") do |response, req, res, &bb|
125
140
  FileUtils.rm "#{dest}/#{filename}"
126
- msg = "\nPDF is ready at #{response.headers[:location]}"
141
+ msg = "\nPDF is ready at #{response.headers[:location]}".green
127
142
  end
128
143
  end
129
144
 
@@ -145,7 +160,7 @@ class JsonResumeCLI < Thor
145
160
  resume_obj = JsonResume.new(json_input, "output_type" => output_type)
146
161
  mustache_obj = Mustache.render(i18n(File.read(template)), resume_obj.reader.hash)
147
162
  File.open(dest,'w') {|f| f.write(mustache_obj) }
148
- return "\nGenerated files present at #{dest}"
163
+ return "\nGenerated files present at #{dest}".green
149
164
  end
150
165
 
151
166
  end
@@ -1,3 +1,3 @@
1
1
  module JsonResume
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_resume
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prateek Agarwal