Skip to content

single space as an argument default value #64

@pmav99

Description

@pmav99

How can I define an empty space as the default value of an argument/option?

Using ' ' is interpreted as 3 chars (i.e. a quoted space). Obviously, I can apply the default value in the handle() code, but I was wondering if I am missing the "cleo" way of doing this.

Minimal Working Example

from cleo import Application
from cleo import Command

class MyCommand(Command):
    """
    Command description

    cmd
        {--s|separator=' ' : The separator.}
    """
    def handle(self):
        separator = self.option("separator")
        print(separator)
        print(repr(separator))
        print(len(separator))
        print(type(separator))
        if separator == " ":
            print("Yay!")

def main():
    application = Application()
    application.add(MyCommand())
    application.run()

if __name__ == "__main__":
    main()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions