39 lines
837 B
OCaml
39 lines
837 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 ->
|
|
(
|
|
let title = SimpleHttp.get_http_title (SimpleHttp.get_body str) in
|
|
match title with
|
|
| Some s -> s
|
|
| None -> ""
|
|
)
|
|
| str when is_url 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!";;
|