Python Forum

Full Version: covertion of argparser to cliff
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
anyone help me to resolve this convert from this line to cliff without using sys module >> def take_action(self, parsed_args):
import logging
#import sys
from cliff.command import Command
class Name(Command):

    def get_parser(self, parsed_args):
        parser = super(Name, self).get_parser(parsed_args)
        group = parser.add_mutually_exclusive_group()

        group.add_argument(
            '--firstname',
            help = 'print first name',
        )

        group.add_argument(
            '--lastname',
            help = 'print last name',
        )

        group.add_argument(
            '--fullname',
            help = 'print name',
        )

        return parser

    def take_action(self, parsed_args):
         
            if parsed_args.firstname:
                if ' ' in sys.argv[3]:
                    raise Exception('No space in first name please') 
                self.app.stdout.write(sys.argv[3])
            
            elif parsed_args.lastname:
                if ' ' in sys.argv[3]:
                    last_name = sys.argv[3]
                    print(last_name.split()[1])
                else:
                    self.app.stdout.write(sys.argv[3].split()[0])
            elif parsed_args.fullname:
                    self.app.stdout.write(sys.argv[3])