-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathtseeder
executable file
·70 lines (55 loc) · 1.92 KB
/
tseeder
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/python2
"""
This file is part of VDISCOVER.
VDISCOVER is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
VDISCOVER is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with VDISCOVER. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015 by G.Grieco
"""
import os
import shutil
import argparse
import sys
import csv
from vdiscover.Utils import *
from vdiscover.Sampling import *
csv.field_size_limit(sys.maxsize)
if __name__ == "__main__":
# Arguments
parser = argparse.ArgumentParser(
description='A small utility to perform seed selection for fuzzig')
parser.add_argument(
"infile",
help="A csv with the features to train or predict",
type=str,
default=None)
parser.add_argument(
"outdir", help="A directory with the seeds", type=str, default=None)
parser.add_argument(
"-n",
help="Number of seeds to select per cluster",
type=int,
default=1)
#parser.add_argument("--random", help="Sample randomly", action="store_true", default=None)
options = parser.parse_args()
in_file = options.infile
outdir = options.outdir
nseeds = options.n
reader = load_csv(in_file)
clusters = []
for [label, cluster] in reader:
clusters.append((label.split(":")[-1], cluster))
selected = cluster_sampler(clusters, nseeds)
if not os.path.exists(outdir):
os.makedirs(outdir)
print "Copying seeds.."
for seed in selected:
print seed
shutil.copy(seed, outdir)