Exemple #1
0
def main():
    path = 'data'

    # TODO: this should be moved to a config.ini
    bike_csv = 'bicycles/bicycles.csv'
    customer_csv = 'customers/customers.csv'
    inv_csv = 'inventory/inventory.csv'

    # TODO: move to utils
    csv_data = lambda csv_name: csv_to_dict(csv_path=os.path.join(path, *csv_name.split('/')))

    bikes = [Bicycle(**v) for k, v in csv_data(bike_csv).iteritems()]
    customers = [Customer(**v) for k, v in csv_data(customer_csv).iteritems()]

    mikes_shop = BikeShop()
    mikes_shop.inventory = csv_data(inv_csv)

    # TODO: move to function "display_state"
    data = dict(customers=customers,
                bikes=bikes,
                inventory=mikes_shop.inventory
                )

    p_format = lambda s: '{:#<30}{}{:#>30}'.format('', s, '')

    for category, items in data.iteritems():
        print p_format(category) + '\n'
        for item in items:
            print item
Exemple #2
0
    def test_returns_col_0_keyed_to_dict_of_all_headers_to_values(self):

        expected_res = {'a': {'name': 'a',
                              'rank': 'b',
                              'serial_number': 'c'},
                        '1': {'name': '1',
                              'rank': '2',
                              'serial_number': '3'}
                        }

        res = csv_to_dict(os.path.join(self.path, *self.csv.split('/')))

        self.assertEqual(expected_res, res)