Python Forum
covertion of argparser to cliff - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: covertion of argparser to cliff (/thread-21032.html)



covertion of argparser to cliff - suraj522 - Sep-11-2019

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