cheesebot/ocaml/shell.ml

33 lines
789 B
OCaml

open Str
let is_url url =
let regexp = regexp "\\(https?\\://\\)?www\\..+\\..+" in
string_match regexp url 0
let is_youtube_url url =
let regexp = regexp "\\(https?\\://\\)?\\(www\\.\\)?\\(youtube\\.com\\)\\|\\(youtu\\.be\\)/.+" in
string_match regexp url 0
(* Maybe have a list of functions and
* iter on all the items in the list *)
let evaluate str =
match str with
| str when is_youtube_url str -> SimpleHttp.get_http_title (SimpleHttp.get_body str); str
| str when is_url str -> SimpleHttp.get_http_title (SimpleHttp.get_body str); str
| _ -> str
let () =
try
while true do
print_string "> ";
let line = read_line () in
let answer = evaluate line in
print_endline answer
done
with
End_of_file -> print_endline "Bye!";;