Необходимо сделать "баннерокрутилку". Она должна представлять из себя простой веб-сервис написанный на Python 3.4-3.5 с использованием любых показавшихся необходимыми библиотек.
Есть не изменяемый файл конфигурации в CSV, который содержит данные вида:
Image URL;prepaid shows amount;category1;category2;category3; ... ;category N
http://images.com/bannerimage.jpg;1000;auto;bikes;transport; ...
Количество записей в файле не более 1000. Файл содержит только символы Оплаченные показы - сколько раз баннер нужно показать. Категорий у одного баннера может быть от 1 до 10 штук, записанных в соответствующих колонках.
Пример:
http://banners.com/banner1.jpg;500;flight;airlplane
http://banners.com/banner2.jpg;3300;show;britain;benny hill;sketches;tv
http://banners.com/banner3.jpg;1500;games;minecraft;blocks;sandbox
http://banners.com/banner4.jpg;120;onlycategory
При запуске баннерокрутилка читает конфиг и начинает слушать HTTP обращения.
Клиент HTTP GET запросом сообщает категории, которые он готов принять, к примеру: http://bannerokrutilka.com/?category[]=auto&category[]=trains Количество запрошенных категорий может быть от 0 до 10 штук.
В ответ на него баннерокрутилка должна выдавать простую HTML обертку с изображением баннера, который совпадает минимум по одной категории. Категории баннера произвольны если в запросе категорий не указано. Каждый показ вычитается из количества оплаченных.
По характеру запросов считаем, что: