Package: easyentry
OverviewEasyEntryenter data into a program and easily check if they are valid.Uses dictionaries to define the properties of the data:type: str, int, float, date, time, email, passwd and menu.default: sets a default by pressing the return keyoptions: defines a list of allowed values: [‘a’, ‘b’,…]minmax: sets minimum and maximum limits for a value: [0, 100]required: defines the obligation or not to introduce a value: True or Falseand others (See the property list).Example:import easyentry as ee

ee.global_required = True

person = {}
person['name'] = {'type':'str'}
person['city'] = {'type':'str', 'default':'Seville'}
person['age']  = {'type':'int', 'minmax': [0,100]}
person['height']  = {'type':'float'}
person['bicycle']  = {'type':'str', 'options': ['y','n']}
person['datetrip'] = {'type':'date', 'default': 'now'}
person['email'] = {'type':'email', 'required': False}

name = ee.entry('What is your name?', (person, 'name'))
city = ee.entry('What city you live?', (person, 'city'))
age = ee.entry('How old are you?', (person, 'age'))
height = ee.entry('Height?', (person, 'height'))
bicycle = ee.entry('Do you have a bicycle?', (person, 'bicycle'))
datetrip = ee.entry('Date of trip?', (person, 'datetrip'))
email = ee.entry('Your email address', (person, 'email'))Creates a options menuTo build a menu:person['info'] = {'type':'menu', 'title':'Select an option', 'options':['phone','mail','none'], 'rindex':True}
info = ee.entry('To receive information by...', (person, 'info'))Options:rindex: With True returns the number of the selected optionsorted: sort the list of options (True/False)Output:To receive information by...
(1) phone
(2) mail
(3) none
Select an option [3]:PasswordEnter a password:person['passwd'] = {'type':'passwd'}

passwd = ee.entry('Enter password', (person, 'passwd'))
repeat = ee.entry('Repeat password', (person, 'passwd'))

if passwd == repeat:
    print(passwd)Property listProperties of the data types available:str: required, options or minmax and defaultint: required, options or minmax and defaultfloat: required, options or minmax and defaultdate: required, options or mixmax and default:date or nowtime: required, options or mixmax and default:time or nowpassword: requiredemail: requiredmenu: required, title, options, default, sorted and rindexConstantsThe constants are used to set the values that define the general behavior of EasyEntry:# Message to be displayed when data is not valid:
# - You can type the message in your language
# - If the value is omitted, the default is the current (in English)

ee.error_message = 'Invalid input, please try again'

# Set format 'date' and 'time':
# - Date format: '%Y-%m-%d' -> YYYY-MM-DD (default)
# - Hour format: '%H:%M:%S' -> HH:MM:SS   (default)

ee.date_format = '%d-%m-%Y'
ee.time_format = '%H:%M'

# Set the type of numerical data (int and float):
# - True and value = '' : var int   -> return 0
#                         var float -> return 0.0
# - False (default) and value = '': return ''

ee.strict_return = False

# Establish whether it is mandatory to enter a valid value or
# an empty entry (press return) is allowed
# - True  -> You must enter a valid value in all fields
# - False -> The field can be empty (default)
# The value of the 'required' property of a field overrides
# the global value

ee.global_required = True