cheesebot/ocaml/evaluate.ml
2014-12-21 17:00:07 +01:00

34 lines
783 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
let remove_spaces str =
match str with
| Some s ->
let spaces = regexp "\\( *\\\n\\)+ *" in
Some (global_replace spaces "" s)
| None -> None
(* Maybe have a list of functions and
* iter on all the items in the list *)
let evaluate str =
match str with
| str when is_url str ->
(let title = SimpleHttp.get_http_title (SimpleHttp.get_body str) |> remove_spaces in
match title with
| Some t -> Some ("[ " ^ t ^ " ]")
| None -> None)
| "o/" -> Some "o/"
| _ -> None