def print_system_inventory(inventory_list, details=False, skip_absent=False):
    """
    Prints the system inventory list into a table

    Args:
        inventory_list: The inventory list to print
        details: True to print all of the detailed info
        skip_absent: True to skip printing absent components
    """
    inventory_line_format = '  {:35s} | {}'
    inventory_line_format_detail = '  {:35s} | {}: {}'
    inventory_line_format_empty = '  {:35s} | Not Present'
    for chassis in inventory_list:
        print("'" + chassis['ChassisName'] + "' Inventory")
        print(inventory_line_format.format('Name', 'Description'))
        type_list = ['Chassis', 'Processors', 'Memory', 'Drives',
            'PCIeDevices', 'StorageControllers', 'NetworkAdapters']
        for inv_type in type_list:
            for item in chassis[inv_type]:
                if item['State'] == 'Absent':
                    if not skip_absent:
                        print(inventory_line_format_empty.format(item[
                            'Label'][:35]))
                else:
                    print(inventory_line_format.format(item['Label'][:35],
                        item['Description']))
                    if details:
                        detail_list = ['Manufacturer', 'Model', 'SKU',
                            'PartNumber', 'SerialNumber', 'AssetTag']
                        for detail in detail_list:
                            if item[detail] is not None:
                                print(inventory_line_format_detail.format(
                                    '', detail, item[detail]))
        print('')
