Skip to main content

It is a modern args catching with python3 and OOP structure and implementation.

Project description

Smile Arguments

Version 1.1.2

  • Improving
  • Clean up

Why SmileArgs

It is a modern args catching with python3 and OOP structure and implementation.

Optional

Some parameters will clarify more, when instance starting

smile = SmileArgs(isAllowedNoValue= False, isDuplicated= False, console= True, debug= False)
  • allowNoValue: bool= False | True
    • No require value on args
    • -c command does not need any assign value (Ex: python test.py -c)
  • duplicated: bool= False | True
    • Allowing a user types many times of any command on args (Ex: python test.py -b -b -b)
    • Will execute 3 times of the command "-b" regarding to the above example
  • console: bool= False | True
    • A method will print error when the system catches and throw a particular error
  • debug bool= False | True
    • This property will track any prompt while working

catchCommand()

  • after executed run() method, it allows us to get catch command list
  • show all cli command that matched to the added command
  • return list

getCommand()

  • show all added commands
  • return list

run()

  • find and match command via cli
  • Ex: python test.py -a=Miss -b=Mom

show()

  • display all added commands
  • if found commands, it will display all cough commands

Example 1

Create a test.py

from SmileArgs import SmileArgs
smile   = SmileArgs(console= True, debug= True)
# add command to list
smile.addCommand('a', 'alphabet', 'show alphabet')
smile.addCommand('b', 'baby', 'miss mom by her baby')
smile.addCommand('m', 'miss', 'miss mom everyday')

# catch cli command
print(f'\nFound commands via cli')
smile.run()

# show
smile.show()

On terminal try with this

$ python3.10 test.py -a -ab -a --miss=mom
test-smileargs

Example 2

create a testclass.py

from SmileArgs import SmileArgs

class TestClass:
  def __init__(self):
    """
    """
    # private
    self.__smile   = SmileArgs()
    self.__load()
  
  def __load(self) -> None:
    """
    """
    self.__smile.addCommand('a', 'alphabet', 'show alphabet')
    self.__smile.addCommand('b', 'barbie', 'Wow, movies')
    self.__smile.addCommand('m', 'miss', 'miss mom everyday')
  
  def checkCLI(self) -> None:
    """
    """
    self.__smile.run()

  def executeCLICommand(self) -> None:
    """
    """
    #
    self.checkCLI()
    # 
    for s in self.__smile.catchCommand():
      print(f'{f.cmdShort or f.cmdLong} \t\t{f.value}')
    

testClass = TestClass()
testClass.executeCLICommand()

cli

$ python3.10 testclass.py -a -ab -a --miss=mom

it will catch '-a' as a short command, and '--miss' as a long command; then use match or if statement to control those states.

It is available on PyPi store via https://pypi.org/project/SmileArgs/
To Support my work, please donate me via Buy me a PizzaBuy me a Coffee

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SmileArgs-1.1.2.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

SmileArgs-1.1.2-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file SmileArgs-1.1.2.tar.gz.

File metadata

  • Download URL: SmileArgs-1.1.2.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for SmileArgs-1.1.2.tar.gz
Algorithm Hash digest
SHA256 17557fee880b845e18c32240af13f3daa613aabc2c1df4b1de6fa772743ca780
MD5 027f9945e4cf6aea7906fdbefefd7c82
BLAKE2b-256 3183bd857cc23973a97193979898bc337c4217930cc4a1c3f3f74bbf70e9e19e

See more details on using hashes here.

File details

Details for the file SmileArgs-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: SmileArgs-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for SmileArgs-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fc6064974f9069c35de8bd9ffdef09f6da5ef87a6891cbaa94a07c47439f2602
MD5 7e063f9fd54872768d75dcc5403e79cf
BLAKE2b-256 3c49a33fd314e8c2eccdeb12a2111ec2c74dbcab25c27cfb2ea14f3689daf2e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page