lib/repl.rb in runeblog-0.0.62 vs lib/repl.rb in runeblog-0.0.63
- old
+ new
@@ -33,23 +33,23 @@
error(err)
end
def cmd_open_local
reset_output
- local = @blog.viewdir(@view) + "/index.html"
+ local = @blog.viewdir(@blog.view) + "/index.html"
result = system("open #{local}")
raise CantOpen, local unless result
rescue => err
error(err)
end
def cmd_deploy(arg) # FIXME non-string return expected in caller?
# TBD clunky FIXME
reset_output
check_empty(arg)
- user, server, sroot, spath = *@deploy[@view]
- if files.empty?
+ user, server, sroot, spath = *@deploy[@blog.view]
+ if files.empty? # FIXME baloney
output! "No files to deploy"
return @out
end
output "Files:"
@@ -74,33 +74,29 @@
def cmd_rebuild(arg)
reset_output
check_empty(arg)
puts
- # Simplify this
- files = Dir.entries("#@root/src/").grep /\d\d\d\d.*.lt3$/
- files.map! {|f| File.basename(f) }
- files = files.sort.reverse
+ files = @blog.find_src_slugs
files.each {|file| rebuild_post(file) }
nil
rescue => err
error(err)
end
def cmd_relink(arg)
reset_output
check_empty(arg)
- @blog.views.each {|view| generate_index(view) }
+ @blog.relink
nil
rescue => err
error(err)
end
def cmd_list_views(arg)
reset_output("\n")
check_empty(arg)
- abort "Config file not read" unless @blog
@blog.views.each do |v|
v = bold(v) if v == @blog.view
outstr " #{v}\n"
end
@out
@@ -108,19 +104,19 @@
error(err)
end
def cmd_change_view(arg)
reset_output
- # Simlify this
+ # Simplify this
if arg.nil?
output "#{@blog.view}"
return @out
else
list = @blog.views.grep /^#{arg}/
if list.size == 1
- @view = @blog.view = list.first
- output! "View: #{@view}\n" if arg != @view
+ @blog.view = list.first
+ output! "View: #{@blog.view}\n" if arg != @blog.view
else
output! "view #{arg.inspect} does not exist\n"
end
end
@out
@@ -128,43 +124,43 @@
error(err)
end
def cmd_new_view(arg)
reset_output
- arg ||= ask("New view: ") # check validity later
@blog.create_view(arg)
- return nil
+ nil
rescue => err
error(err)
end
def cmd_new_post(arg)
reset_output
check_empty(arg)
- @title = ask("Title: ")
- @blog.create_new_post(@title)
- return nil
+ title = ask("Title: ")
+ @blog.create_new_post(title)
+ nil
rescue => err
error(err)
end
def cmd_kill(arg)
reset_output
args = arg.split
- args.each {|x| cmd_remove_post([x], false) }
- return nil
+ args.each {|x| cmd_remove_post(x, false) }
+ nil
rescue => err
error(err)
+ puts err.backtrace
end
#-- FIXME affects linking, building, deployment...
def cmd_remove_post(arg, safe=true)
reset_output
id = get_integer(arg)
- files = @blog.files_by_id(id)
- if files.empty?
+ files = @blog.post_exists?(id)
+ if files.nil?
output! "No such post found (#{id})"
return @out
end
if safe
@@ -173,46 +169,47 @@
reset_output
ques = "\n Delete?\n "
ques.sub!(/\?/, " all these?") if files.size > 1
yes = yesno red(ques)
if yes
- result = system("rm -rf #{files.join(' ')}")
- error_cant_delete(files) unless result
+ @blog.remove_post(id)
output! "Deleted\n"
else
output! "No action taken\n"
end
else
- result = system("rm -rf #{files.join(' ')}")
- error_cant_delete(files) unless result
+ @blog.remove_post(id)
output! "Deleted:\n"
files.each {|f| output " #{f}\n" }
end
@out
rescue ArgumentError => err
puts err
+ puts err.backtrace
rescue CantDelete => err
puts err
+ puts err.backtrace
rescue => err
error(err)
+ puts err.backtrace
end
#-- FIXME affects linking, building, deployment...
def cmd_edit_post(arg)
reset_output
id = get_integer(arg)
- # Simlify this
+ # Simplify this
tag = "#{'%04d' % id}"
- files = Find.find(@root+"/src").to_a
+ files = Find.find(@blog.root+"/src").to_a
files = files.grep(/#{tag}-/)
files = files.map {|f| File.basename(f) }
return red("Multiple files: #{files}") if files.size > 1
return red("\n No such post found (#{id})") if files.empty?
file = files.first
- result = system("vi #@root/src/#{file}")
+ result = system("vi #{@blog.root}/src/#{file}")
raise "Problem editing #{file}" unless result
rebuild_post(file)
nil
rescue => err
@@ -221,11 +218,11 @@
def cmd_list_posts(arg)
check_empty(arg)
reset_output
posts = @blog.posts # current view
- output @view + ":\n"
+ output @blog.view + ":\n"
if posts.empty?
output! "No posts\n"
else
posts.each {|post| outstr " #{colored_slug(post)}\n" }
end
@@ -295,32 +292,32 @@
@out
end
## Funky stuff -- needs to move?
- def new_blog!(arg) # FIXME weird?
- check_empty(arg)
- return if RuneBlog.exist?
- yes = yesno(red(" No .blog found. Create new blog? "))
- RuneBlog.create_new_blog if yes
- rescue => err
- error(err)
- end
+# def new_blog!(arg) # FIXME weird?
+# check_empty(arg)
+# return if RuneBlog.exist?
+# yes = yesno(red(" No .blog found. Create new blog? "))
+# RuneBlog.create_new_blog if yes
+# rescue => err
+# error(err)
+# end
- def open_blog # Crude - FIXME later
- @blog = RuneBlog.new
- @view = @blog.view # current view
- @sequence = @blog.sequence
- @root = @blog.root
- @deploy ||= {}
- @blog.views.each do |view|
- deployment = @blog.viewdir(@view) + "deploy"
- check_file_exists(deployment)
- lines = File.readlines(deployment).map {|x| x.chomp }
- @deploy[@view] = lines
- end
- @blog
- rescue => err
- error(err)
- end
+# def open_blog # Crude - FIXME later
+# @blog = RuneBlog.new
+# @view = @blog.view # current view
+# @sequence = @blog.sequence
+# @root = @blog.root
+# @deploy ||= {}
+# @blog.views.each do |view|
+# deployment = @blog.viewdir(@view) + "deploy"
+# check_file_exists(deployment)
+# lines = File.readlines(deployment).map {|x| x.chomp }
+# @deploy[@view] = lines
+# end
+# @blog
+# rescue => err
+# error(err)
+# end
end