Exemple #1
0
def validate(product, quantity, buyer):        # function called by name 
    msgs, errs = [], []                        # via mod/func name strings 
    first, last = buyer[0], buyer[1:]          
    if first not in string.uppercase:          # or not first.isupper() 
        errs.append('buyer-name:' + first)   
    if buyer not in inventory.buyers():     
        msgs.append('new-buyer-added')
        inventory.add_buyer(buyer)
    validate_order(product, quantity, errs, msgs)     # mutable list args 
    return ' '.join(msgs), ' '.join(errs)             # use "(ss)" format
Exemple #2
0
def validate(product, quantity, buyer):  # function called by name
    msgs, errs = [], []  # via mod/func name strings
    first, last = buyer[0], buyer[1:]
    if first not in string.uppercase:
        errs.append('buyer-name:' + first)
    if buyer not in inventory.buyers():
        msgs.append('new-buyer-added')
        inventory.add_buyer(buyer)
    validate_order(product, quantity, errs, msgs)  # mutable list args
    return string.join(msgs), string.join(errs)  # use "(ss)" format
Exemple #3
0
# embedded validation code, run from C
# input vars:  PRODUCT, QUANTITY, BUYER
# output vars: ERRORS, WARNINGS

import string  # all python tools are available to embedded code
import inventory  # plus C extensions, Python modules, classes,..
msgs, errs = [], []  # warning, error message lists


def validate_order():
    if PRODUCT not in inventory.skus():  # this function could be imported
        errs.append('bad-product')  # from a user-defined module too
    elif QUANTITY > inventory.stock(PRODUCT):
        errs.append('check-quantity')
    else:
        inventory.reduce(PRODUCT, QUANTITY)
        if inventory.stock(PRODUCT) / QUANTITY < 2:
            msgs.append('reorder-soon:' + ` PRODUCT `)


first, last = BUYER[0], BUYER[1:]  # code is changeable on-site:
if first not in string.uppercase:  # this file is run as one long
    errs.append('buyer-name:' + first)  # code-string, with input and
if BUYER not in inventory.buyers():  # output vars used by the C app
    msgs.append('new-buyer-added')
    inventory.add_buyer(BUYER)
validate_order()

ERRORS = ' '.join(errs)  # add a space between messages
WARNINGS = ' '.join(msgs)  # pass out as strings: "" == none
# embedded validation code, run from C
# input vars:  PRODUCT, QUANTITY, BUYER
# output vars: ERRORS, WARNINGS

import string              # all python tools are available to embedded code
import inventory           # plus C extensions, Python modules, classes,..
msgs, errs = [], []        # warning, error message lists

def validate_order():
    if PRODUCT not in inventory.skus():      # this function could be imported
        errs.append('bad-product')           # from a user-defined module too
    elif QUANTITY > inventory.stock(PRODUCT):
        errs.append('check-quantity')
    else:
        inventory.reduce(PRODUCT, QUANTITY)
        if inventory.stock(PRODUCT) / QUANTITY < 2:
            msgs.append('reorder-soon:' + `PRODUCT`)

first, last = BUYER[0], BUYER[1:]            # code is changeable on-site:
if first not in string.uppercase:            # this file is run as one long
    errs.append('buyer-name:' + first)       # code-string, with input and
if BUYER not in inventory.buyers():          # output vars used by the C app
    msgs.append('new-buyer-added')
    inventory.add_buyer(BUYER)
validate_order()

ERRORS   = string.join(errs)      # add a space between messages
WARNINGS = string.join(msgs)      # pass out as strings: "" == none