diff tvii/dataset/cli.py @ 87:9d5a5e9f5c3b

add kmeans + dataset
author Jeff Hammel <k0scist@gmail.com>
date Sun, 17 Dec 2017 14:05:57 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tvii/dataset/cli.py	Sun Dec 17 14:05:57 2017 -0800
@@ -0,0 +1,29 @@
+"""
+command line abstraction for dataset generations
+"""
+
+import csv
+import argparse
+import sys
+from ..cli import CLIParser
+
+
+class DatasetGenerationParser(CLIParser):
+    """argument parser for dataset generation"""
+
+    def add_arguments(self):
+        self.add_argument('-N', '--number', dest='number',
+                          type=int, default=100,
+                          help="number of points [DEFAULT: %(default)s]")
+        self.add_argument('-D', '--dimensions', dest='dimensions',
+                          type=int, default=2,
+                          help="number of dimensions of data [DEFAULT: %(default)s]")
+        self.add_argument('-o', '--output', dest='output',
+                          type=argparse.FileType('w'), default=sys.stdout,
+                          help="where to write the data to, or stdout by default")
+
+    def writer(self):
+        """returns CSV writer as specified by arguments"""
+
+        assert self.options
+        return csv.writer(self.options.output)