#!/usr/bin/python3

class Command:

    def __init__(self, command):
        self.result = [ command ]
        pass

    def __iter__(self):
        return iter(self.result)

    def arg(self, arg):
        self.result.append(arg)
        return self

    def flag(self, flag, condition=True):
        condition and self.result.append(flag)
        return self

    def option(self, name, value=None, kind=str):
        isinstance(value, kind) and self.result.extend([name, str(value)])
        return self