-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsave_rbucks.ml
40 lines (32 loc) · 1.11 KB
/
save_rbucks.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
(* compute how much relative talk volume
each class bucket pushes *)
open Common
open Getopt
let mark' = ref ""
let prefix' = ref "rbucks"
let outdir' = ref (Some !prefix')
let specs =
[
(noshort,"prefix",None,Some (fun x -> prefix' := x));
(noshort,"outdir",None,Some (fun x -> outdir' := Some x));
(noshort,"nodir", (set outdir' None), None);
('k',"mark",None,Some (fun x -> mark' := x))
]
let () =
let args = getOptArgs specs in
let prefix, outdir, mark =
!prefix', !outdir', !mark' in
let aranksName,outdir =
match args with
| aranksName::outdir::restArgs -> aranksName, Some outdir
| aranksName::restArgs -> aranksName, outdir
| _ -> failwith "usage: save_rbucks aranksName [outdir]"
in
let baseName = cutPathZ aranksName in
let bucksName = sprintf "%s-%s%s" prefix mark baseName |> mayPrependDir outdir in
leprintfln "reading aranks from %s, saving buckets in %s"
aranksName bucksName;
let aranks: day_rank_users = loadData aranksName in
let bucks: day_buckets = A.map Topsets.buckets aranks in
mayMkDir outdir;
saveData bucks bucksName