Skip to main content

Installing

pip3 install throttle

Usage

import lineopt

# dict w/ extra methods
state = lineopt.State()

@state.sub('echo')
def state_0(argument):

  return argument

@state_0.sub('loud')
def state_0_0(argument):

  return argument.upper()

flags = {'-c': 'content', '-s': 'meddle'}

@state_0.sub('fancy', flags)
def state_0_1(arguments):

  content = arguments['-c']

  meddle = arguments.get('-s', ' ')

  return meddle.join(content)

starts = ('!', '.')

def parse(value, starts = starts):

  try:

    (start, names, argument, function) = state.context(starts, value)

  except (KeyError, ValueError) as error:

    raise

    result = repr(error)

  else:

    result = function(argument)

  print(result)

say = 'vocalizing is fun' # argument

parse(f'!echo {say}') # vocalizing is fun
parse(f'.echo.loud {say}') # VOCALIZING IS FUN
parse(f'!echo.fancy -c {say}') # v o c a l i z i n g   i s   f u n
parse(f'.echo.fancy {say} -s ~') # v~o~c~a~l~i~z~i~n~g~ ~i~s~ ~f~u~n
parse(f'-echo.loud {say}') # ValueError: 'invalid start'
parse(f'.fancy {say}') # KeyError: 'fancy' (only sub of echo)

Download files

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

Source Distribution

lineopt-0.0.4.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lineopt-0.0.4-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file lineopt-0.0.4.tar.gz.

File metadata

  • Download URL: lineopt-0.0.4.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.8.0rc1

File hashes

Hashes for lineopt-0.0.4.tar.gz
Algorithm Hash digest
SHA256 a09f7bfeb61705322c19427353a22010aefdad59b7aa160d72ff0ad2202c912e
MD5 ece92a4cb060a5ca5644ff575daf9901
BLAKE2b-256 a9efa6f18156329c53ae3bbd1f5553ef5f298e573d32380eb93e5c4587578f9e

See more details on using hashes here.

File details

Details for the file lineopt-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: lineopt-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.8.0rc1

File hashes

Hashes for lineopt-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c10c6fa909806c8a5c94111f49b3357c92aa1f7b6ebe604b38b19797d409dd90
MD5 0a8d432fe139751d6023d6e10d6d5346
BLAKE2b-256 7db9c1801f53569da336cc34a8c281686ec31e0b1b1a74b4a476fcc995c9da84

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 files

0.0.3

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page