Архив рубрики: Python

UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position

Довольно распространенная проблема для скриптов на Pyhton которые переносишь на другой сервер. А ларчик обычно открывается просто — в скрипте используются символы UTF-8, а локаль консоли куда выводятся данные — скорее всего просто en_US, не UTF8.

Решение:

Далее выбираем все ru_RU.xx, и консоль по умолчанию в en_US.UTF-8

INSERT / UPDATE в MySQL на Python

Ну в принципе и не на Python, важен принцип. Что мне нужно? Если UPDATE завершился ошибкой (данные не обновлены т.к. их нет), тогда INSERT. Вообще в MYSQL есть специальная команда — REPLACE, у которой синтаксис такой-же как у INSERT, за исключением того, что если такая запись уже есть, то она просто измениться. Одно НО. Таблица обязательно должна содержать колонки с UNIQUE. А если их нет, и добавить нельзя? Тогда к сожалению придется «отлавливать» результат выполнения UPDATE — а именно количество изменившихся записей. Если 0 — считаем что такой записи вообще нет, и вставляем. На Python нечто подобное реализовать можно вот так:

Как удалить последний символ строки на python

Оказывается совсем просто:

Например:

Сетевые настройки из FreeRadius через DHCP

Прилетела задача наладить выдачу IP адресов абонентам. Условия задачи:

  • Отдельного сервера под авторизации не дадим — обойдетесь 😉
  • Абоненты должны получать сетевые настройки по DHCP
  • Сеть разнородная. Это и PON оборудование, и обычные свичи с настроенной Опцией 82 и WiFi базы с точками
  • Если ни под одно из условий выдачи IP данные не попадают — необходимо выдать IP из «гостевой» сети

Читать далее Сетевые настройки из FreeRadius через DHCP

pip error: option —single-version-externally-managed not recognized

При попытке установки mysql-connector на одном из серверов FreeBSD, при помощи:

Получил ошибку:

Решение: