runeblog 0.0.34 → 0.0.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/data/VERSION +1 -1
  3. data/lib/repl.rb +81 -18
  4. data/lib/runeblog.rb +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d1c3862fcc73f275a83aaf2ed74d2854369dbf06
4
- data.tar.gz: cc69705accd20ad19063232ca568662349ccc7ea
3
+ metadata.gz: 20a50ba1851a59956f6e0a5f8e4e7336eb3d281d
4
+ data.tar.gz: b8daf3b75311b8c994d1cd0c83ca1b2ef197f31b
5
5
  SHA512:
6
- metadata.gz: 6d63974c8b8559484495eb707ff94f9d59c3fe166c1fc246444542abed4639a029311575ce306d024f2ab61ece9f3dd53bbee3019ca9c5dcb07f378d3c736930
7
- data.tar.gz: e9a021880a10d93ab957c549342929fb9be912395be844c223c4abdcf9c54da606305c533162d85a1efad5fd8af710ed6013ee7e8fd55514189ff7305f02792a
6
+ metadata.gz: c6799ffd887af0552c87aedfaedfda1109c38ddd106709b957000a8c42a410f0c8024cd391c1a41c0a48e046ffd9f8534e7af905abd89f56860d0eb572d22eb7
7
+ data.tar.gz: 6a447ba64c6327f20bbdfde0421d5782575180ca80f2b0ea85ebbab3e65b2b6ac728859d84f281ed8673eda7040200d7200e8173afbce675d01d3ff3135f96b8
@@ -1 +1 @@
1
- RuneBlog v 0.0.34 2017-05-15
1
+ RuneBlog v 0.0.35 2017-05-15
@@ -56,7 +56,9 @@ module RuneBlog::REPL
56
56
  yn = ask(red(" No .blog found. Create new blog? "))
57
57
  if yn.upcase == "Y"
58
58
  #-- what if data already exists?
59
- system("cp -r #{RuneBlog::DefaultData} .")
59
+ result = system("cp -r #{RuneBlog::DefaultData} .")
60
+ raise "Error copying default data" unless result
61
+
60
62
  File.open(".blog", "w") do |f|
61
63
  f.puts "data"
62
64
  f.puts "no_default"
@@ -64,6 +66,8 @@ module RuneBlog::REPL
64
66
  File.open("data/VERSION", "a") {|f| f.puts "\nBlog created: " + Time.now.to_s }
65
67
  end
66
68
  end
69
+ rescue => err
70
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
67
71
  end
68
72
 
69
73
  ### make_slug
@@ -85,35 +89,43 @@ module RuneBlog::REPL
85
89
  @view = @config.view # current view
86
90
  @sequence = @config.sequence
87
91
  @root = @config.root
92
+ rescue => err
93
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
88
94
  end
89
95
 
90
96
  ### create_empty_post
91
97
 
92
98
  def create_empty_post
93
99
  @template = <<-EOS
94
- .mixin liveblog
100
+ .mixin liveblog
95
101
 
96
- .liveblog_version
102
+ .liveblog_version
97
103
 
98
- .title #@title
99
- .pubdate #@date
100
- .views #@view
104
+ .title #@title
105
+ .pubdate #@date
106
+ .views #@view
101
107
 
102
- Teaser goes here.
103
- .readmore
104
- Remainder of post goes here.
108
+ .teaser
109
+ Teaser goes here.
110
+ .end
111
+ Remainder of post goes here.
105
112
  EOS
106
113
 
107
114
  @slug = make_slug(@title)
108
115
  @fname = @slug + ".lt3"
109
116
  File.open("#@root/src/#@fname", "w") {|f| f.puts @template }
110
117
  @fname
118
+ rescue => err
119
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
111
120
  end
112
121
 
113
122
  ### edit_initial_post
114
123
 
115
124
  def edit_initial_post(file)
116
- system("vi #@root/src/#{file} +8 ")
125
+ result = system("vi #@root/src/#{file} +8 ")
126
+ raise "Problem editing #@root/src/#{file}" unless result
127
+ rescue => err
128
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
117
129
  end
118
130
 
119
131
  ### open_remote
@@ -124,19 +136,27 @@ module RuneBlog::REPL
124
136
 
125
137
  lines = @deploy[@view]
126
138
  user, server, sroot, spath = *lines
127
- system("open 'http://#{server}/#{spath}'")
139
+ result = system("open 'http://#{server}/#{spath}'")
140
+ raise "Problem opening http://#{server}/#{spath}" unless result
141
+ rescue => err
142
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
128
143
  end
129
144
 
130
145
  ### open_local
131
146
 
132
147
  def open_local
133
148
  system("open #{@config.viewdir(@view)}/index.html")
149
+ raise "Problem opening #{@config.viewdir(@view)}/index.html" unless result
150
+ rescue => err
151
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
134
152
  end
135
153
 
136
154
  def deploy
137
155
  # TBD clunky FIXME
138
156
  @deploy ||= {}
139
157
  deployment = @config.viewdir(@view) + "deploy"
158
+ raise "File '#{deployment}' not found" unless File.exist?(deployment)
159
+
140
160
  lines = File.readlines(deployment).map {|x| x.chomp }
141
161
  @deploy[@view] = lines
142
162
  user, server, sroot, spath = *lines
@@ -148,12 +168,18 @@ module RuneBlog::REPL
148
168
  files.each {|f| puts " " + f }
149
169
  puts
150
170
  dir = "#{sroot}/#{spath}"
171
+ # FIXME - may or may not already exist
172
+ result = system("ssh root@#{server} mkdir #{dir}")
173
+
151
174
  cmd = "scp -r #{files.join(' ')} root@#{server}:#{dir} >/dev/null 2>&1"
152
175
  print red("\n Deploying #{files.size} files... ")
153
- # puts cmd
154
- system(cmd)
176
+ result = system(cmd)
177
+ raise "Problem occurred in deployment" unless result
178
+
155
179
  File.write("#{vdir}/last_deployed", files)
156
180
  puts red("finished.")
181
+ rescue => err
182
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
157
183
  end
158
184
 
159
185
  ### process_post
@@ -164,9 +190,13 @@ module RuneBlog::REPL
164
190
  # puts " Processing: #{Dir.pwd} :: #{file}"
165
191
  path = @root + "/src/#{file}"
166
192
  @meta = @main.process_file(path)
193
+ raise "process_file returned nil" if @meta.nil?
194
+
167
195
  @meta.slug = make_slug(@meta.title, @config.sequence)
168
196
  @meta.slug = file.sub(/.lt3$/, "")
169
197
  @meta
198
+ rescue => err
199
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
170
200
  end
171
201
 
172
202
  ### reload_post
@@ -177,6 +207,8 @@ module RuneBlog::REPL
177
207
  @meta = process_post(file)
178
208
  @meta.slug = file.sub(/.lt3$/, "")
179
209
  @meta
210
+ rescue => err
211
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
180
212
  end
181
213
 
182
214
  ### posting
@@ -216,6 +248,8 @@ module RuneBlog::REPL
216
248
  posts.each {|post| f.puts posting(view, post) }
217
249
  f.puts @blogtail
218
250
  end
251
+ rescue => err
252
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
219
253
  end
220
254
 
221
255
  ### link_post_view
@@ -225,13 +259,16 @@ module RuneBlog::REPL
225
259
  vdir = @config.viewdir(view)
226
260
  dir = vdir + @meta.slug + "/"
227
261
  cmd = "mkdir -p #{dir}"
228
- system(cmd) unless File.exist?(dir) and File.directory?(dir)
262
+ result = system(cmd) unless File.exist?(dir) and File.directory?(dir)
263
+ raise "Can't create #{dir}" unless result
229
264
 
230
265
  File.write("#{dir}/metadata.yaml", @meta.to_yaml)
231
266
  template = File.read(vdir + "custom/post_template.html")
232
267
  post = interpolate(template)
233
268
  File.write(dir + "index.html", post)
234
269
  generate_index(view)
270
+ rescue => err
271
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
235
272
  end
236
273
 
237
274
  ### link_post
@@ -246,6 +283,8 @@ module RuneBlog::REPL
246
283
  link_post_view(view)
247
284
  end
248
285
  puts
286
+ rescue => err
287
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
249
288
  end
250
289
 
251
290
  ### rebuild_post
@@ -254,6 +293,8 @@ module RuneBlog::REPL
254
293
  reload_post(file)
255
294
  link_post(@meta) # FIXME ??
256
295
  publish_post
296
+ rescue => err
297
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
257
298
  end
258
299
 
259
300
  ### rebuild
@@ -264,12 +305,16 @@ module RuneBlog::REPL
264
305
  files.map! {|f| File.basename(f) }
265
306
  files = files.sort.reverse
266
307
  files.each {|file| rebuild_post(file) }
308
+ rescue => err
309
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
267
310
  end
268
311
 
269
312
  ### relink
270
313
 
271
314
  def relink
272
315
  @config.views.each {|view| generate_index(view) }
316
+ rescue => err
317
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
273
318
  end
274
319
 
275
320
  ### publish?
@@ -293,6 +338,8 @@ module RuneBlog::REPL
293
338
  abort "Config file not read" unless @config
294
339
  puts
295
340
  @config.views.each {|v| puts " #{v}" }
341
+ rescue => err
342
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
296
343
  end
297
344
 
298
345
  ### change_view
@@ -305,6 +352,8 @@ module RuneBlog::REPL
305
352
  else
306
353
  puts "view #{arg.inspect} does not exist"
307
354
  end
355
+ rescue => err
356
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
308
357
  end
309
358
 
310
359
  ### new_view
@@ -317,11 +366,15 @@ module RuneBlog::REPL
317
366
 
318
367
  dir = @root + "/views/" + arg + "/"
319
368
  cmd = "mkdir -p #{dir + 'custom'}"
320
- system(cmd)
369
+ result = system(cmd)
370
+ raise "Could not create #{dir}/custom" unless result
371
+
321
372
  File.write(dir + "custom/blog_header.html", RuneBlog::BlogHeader)
322
373
  File.write(dir + "custom/blog_trailer.html", RuneBlog::BlogTrailer)
323
374
  File.write(dir + "last_deployed", "Initial creation")
324
375
  @config.views << arg
376
+ rescue => err
377
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
325
378
  end
326
379
 
327
380
  ### import
@@ -335,13 +388,17 @@ module RuneBlog::REPL
335
388
  @title = grep.sub(/^.title /, "")
336
389
  @slug = make_slug(@title)
337
390
  @fname = @slug + ".lt3"
338
- system("cp #{name} #@root/src/#@fname")
391
+ result = system("cp #{name} #@root/src/#@fname")
392
+ raise "Could not copy #{name} to #@root/src/#@fname" unless result
393
+
339
394
  edit_initial_post(@fname)
340
395
  process_post(@fname)
341
396
  if publish?
342
397
  link_post(@meta)
343
398
  publish_post
344
399
  end
400
+ rescue => err
401
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
345
402
  end
346
403
 
347
404
  ### new_post
@@ -360,6 +417,8 @@ module RuneBlog::REPL
360
417
  link_post(@meta)
361
418
  publish_post
362
419
  end
420
+ rescue => err
421
+ puts red("\n Error: (line #{__LINE__} of #{File.basename(__FILE__)}) ") + err.to_s
363
422
  end
364
423
 
365
424
  ### remove_post
@@ -378,7 +437,9 @@ module RuneBlog::REPL
378
437
  ques = files.size > 1 ? "\n Delete all these? " : "\n Delete? "
379
438
  yn = ask red(ques)
380
439
  if yn.downcase == "y" #-- maybe implement trash later?
381
- system("rm -rf #{files.join(' ')}")
440
+ result = system("rm -rf #{files.join(' ')}")
441
+ raise "Problem deleting file(s)" unless result
442
+
382
443
  puts red("\n Deleted")
383
444
  else
384
445
  puts red("\n No action taken")
@@ -402,7 +463,9 @@ module RuneBlog::REPL
402
463
  return puts red("\n No such post found") if files.empty?
403
464
 
404
465
  file = files.first
405
- system("vi #@root/src/#{file}")
466
+ result = system("vi #@root/src/#{file}")
467
+ raise "Problem editing #{file}" unless result
468
+
406
469
  rebuild_post(file)
407
470
  rescue => err
408
471
  puts err
@@ -3,7 +3,7 @@ require 'yaml'
3
3
  require 'livetext'
4
4
 
5
5
  class RuneBlog
6
- VERSION = "0.0.34"
6
+ VERSION = "0.0.35"
7
7
 
8
8
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
9
9
  DefaultData = Path + "/../data"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runeblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34
4
+ version: 0.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton