def scan_table()

in design-patterns/scan_for_managers.py [0:0]


def scan_table(tableName,pageSize):
    dynamodb = boto3.resource(**boto_args)
    table = dynamodb.Table(tableName)

    page = 1
    count = 0
    managers_count = 0

    fe = "is_manager = :f"
    eav = {":f": "1"}
    response = table.scan(
        FilterExpression=fe,
        ExpressionAttributeValues=eav,
        Limit=pageSize
        )
    count = count + response['ScannedCount']
    managers_count = managers_count + response['Count']

    while 'LastEvaluatedKey' in response:
        page += 1
        response = table.scan(
            FilterExpression=fe,
            ExpressionAttributeValues=eav,
            Limit=pageSize,
            ExclusiveStartKey=response['LastEvaluatedKey'])
        count = count + response['ScannedCount']
        managers_count = managers_count + response['Count']

    return count, managers_count