view 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 source

"""
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)