Guest User

Untitled

a guest
Jul 20th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #!/usr/bin/env ocaml
  2.  
  3. #load "str.cma";;
  4.  
  5. let concat_file_parts l =
  6. String.concat "." l;;
  7.  
  8. let change_ext name ext =
  9. let old_parts = String.split_on_char '.' name in
  10. match List.rev old_parts with
  11. | [] -> ""
  12. | [old_name] -> concat_file_parts [old_name; ext]
  13. | _ :: tl ->
  14. concat_file_parts (ext :: tl |> List.rev);;
  15.  
  16. let html_files =
  17. Sys.readdir "."
  18. |> Array.to_list
  19. |> List.filter (function el -> Str.last_chars el 4 = ".htm");;
  20.  
  21. let cmd file =
  22. let adoc = change_ext file "adoc" in
  23. "lynx -dump " ^ file ^ " | gsed -f _cmds > " ^ adoc;;
  24.  
  25. let gen_adoc file =
  26. let shell_cmd = cmd file in
  27. print_string shell_cmd;
  28. print_newline ();
  29.  
  30. if (Sys.command shell_cmd) > 0 then begin
  31. print_string("Failed cmd for " ^ file);
  32. print_newline ();
  33. end
  34. ;;
  35.  
  36. let gen_adocs files =
  37. List.iter gen_adoc files;
  38. ;;
  39.  
  40. let () =
  41. (* print_string (change_ext "x1.erb.html" "haml"); *)
  42. (* print_newline (); *)
  43. (* print_string (cmd "ch1.htm"); *)
  44. (* print_newline (); *)
  45. gen_adocs html_files;
  46. ;;
Add Comment
Please, Sign In to add comment