Записки разработчика

07.11.2017

Django Ошибка дампа данных Matching query does not exist

Поделюсь решением проблемы возникающей при попытке сделать дамп данных проекта:

Выполняя команду:

(env)➜  myproject git:(master) ✗ python project/manage.py dumpdata --natural-foreign --exclude auth.permission --exclude contenttypes --exclude admin.logentry --indent 4 > dump.json

Получил ответ:

CommandError: Unable to serialize database: MyModel matching query does not exist.

Где MyModel — имя модели, в моём случае это была AccountUser.

Ошибка сравнительно не информативная, гугление ничего особого не дало. Пришлось залезть в код фреймворка Django, в частности в ту часть где происходит дамп данных:

cd ../env/lib/python2.7/site-packages/django/core/management/commands
vi dumpdata.py

Видим что исключение выбрасывается на 208 строке:

raise CommandError("Unable to serialize database: %s" % e)

Пришлось закомментировать блок чтобы вываливало ошибку а не обрабатывало исключение. В итоге получаю по бэктрейсу (backtrace) ошибки вижу что проблема в django/db/models/query.py в исключении DoesNotExist с описанием : «matching query does not exist»

Вывожу разные переменные (print не работает), через это описание ошибки. Видно что всё по нулям. В итоге вывел self.query.

Он мне вывел запрос — который — я его выполнил в sql — выдал что да, этот запрос выдает результат нуль записей, из-за чего ошибка, собственно, и генерируется.

А дело всё в том, что у меня есть связанная таблица через ForeignKey (другая, скажем AccountCompany), и так получилось что там есть записи, которые ссылаются на AccountUser, но в AccountUser таких записей уже нет.

В общем, почистил вторую таблицу, «брошенных» записей нет, и вуаля! Дамп происходит как и должен. Не забудьте только убирать ваши изменения в библиотеках.

admin @ 02:50


05.11.2017

ZXTune123 слушаем тёплые восьмибитные треки

Есть классный проигрыватель чиптюнов ZXTune123. Здесь собраны некоторые советы по работе с этой программой.

http://zxtune.bitbucket.io/

если выпала ошибка:

Error in OSS backend while working with device '/dev/mixer'

запустить можно попробовать так. Где filename.ext — имя файла трекерной музыки

zxtune123 --alsa = filename.ext
zxtune123 --mp3 filename='filename' track.ext
zxtune123 --loop --alsa device=hw:0,mixer=PCM filename.ext

Конечно, особенная «теплота» реализуема лишь на «теплом» железе, поэтому в будущем будет цикл статей по созданию проигрывателя чиптюнов через специализированные процессоры.

admin @ 14:28


03.02.2017

Улаживание конфликтов в Mercurial

В который раз продолбавшись с непонятным 3-way Vimdiff (когда в трех колонках разные версии), нашел таки работающее решение:

Добавить в конфиг такую настройку:

~/.hgrc file: [в случае, если у вас hg-реп для проекта - путь будет такой: project_dir/.hg/hgrc]

[ui]
merge=internal:merge

После этого сделать hg resolve --all
и вручную постирать ненужный код. Муторно, зато работает.

PS: Пользуюсь git, чего и Вам советую!

admin @ 00:14


25.01.2017

Кодировка (charaster_set) и представление (collation) по умолчанию в Mysql

Например, Вам нужно чтобы вместо «latin1_swedish_ci» было «utf8_general_ci», в параметре Collation в конфиге сервера Mysql нужно прописать такие инструкции (файл my.cnf или mysql.conf — в зависимости от дистрибутива) :

character-set-server = utf8
collation-server = utf8_unicode_ci
admin @ 14:45


altlinux p8 и zshell проблема с Home End в терминале

Сегодня обнаружилась проблема — поставил ZShell (zsh) — давно его использую, очень нравится возможности которые он дает. Но вот в другом дистрибутиве клавиши Home (в начало shell-строки) и End (в конец shell-строки) в терминале работали корректно. А сейчас — при нажатии Home выводится буква «H», при нажатии End — буква «F».

Проблема в том что клавиши Home и End передают другой код, отличный от того что прописан в конфигурационном файле.

Чтобы узнать актуальный код клавиши, нужно нажать Ctrl — v и после этого нужную клавишу. В моем случае Ctrl — v Home — и получаем код : ^[OH а для End - ^[OF

Таким образом код в конфигурационном файле приписываем так:

bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line
admin @ 00:12


17.01.2017

altlinux p8 Квадратики в текстовом режиме вместо русских букв

Решил я вернуться на ALT Linux. Всё таки наша отечественная система на базе ядра Linux. Обладает своеобразным консерватизмом, что не может не радовать в этом стремительно меняющимся мире.

Решил выставить другое разрешение экрана, появилась надпись «Изменения вступят после перезагрузки». Улыбнулся — такое я помнил со времен Windows 95. Дело секунд — перегружаюсь. И, внезапно, лог загрузки остановился... и ничего не происходит. Но выше по логу видно что проблема появилась после загрузки видеодрайвера. Мать думаю... посоветовавшись с другом, решил зайти с соседней текстовой консоли.

Каково же было моё удивление когда я в консоли вместо русских букв увидел, мать их, квадратики!! Такое я помню со времен RedHat 6.2 и Mandrake 7.0! Думал что эту проблему сто лет как победили... А так как сижу крайние года на Убунте, будь она не ладна, совсем разучился красноглазить %)

В общем с телефона в поисковую систему, и после 40 минут гугления и тестирования различных советов наткнулся на такой:

$ setfont cyr-sun16

выполняю, проверяю — ураа! Квадратиков нет, вместо них кириллица. Ниже совет, в каких файлах должен быть конфиг шрифта:

sudo vim /etc/locale.conf

с таким содержимым:

LANG="ru_RU.UTF-8"

а также,

sudo vim /etc/vconsole.conf

с таким содержимым:

KEYMAP=ru
FONT=cyr-sun16
FONT_MAP=

В общем настройки стали сохраняться после выхода.

Да, чтобы восстановить иксы — я сделал так:

rm -f /etc/X11/xorg.conf.d/10-monitor.conf

Радикально, но работа иксов восстановилась.

admin @ 01:08


23.09.2016

Ссылки на некоторые статьи собранные в рамках подготвки к восхождению на Эльбрус

Эльбрус

Восхождение на Эльбрус с севера в одиночку / Очерки, дневники — 2002 год / Люди и горы / Mountain.RU
Risk / Восхождение на Эльбрус с запада
Risk / Восхождение на Эльбрус в мае 2013 года.
Самые уникальные места Урала Восхождение
Самые уникальные места Урала Подход
Восхождение на Эльбрус: odin_moy_den — Page 2
Восхождение на Эльбрус с юга, отчет, горы, вершина | Strongtour — организация экстремального отдыха
Восхождение на Эльбрус с севера. 01.08.2014 — ЯПлакалъ
Восхождение на Эльбрус с севера. Часть 1: Джилы-Су | Павел Богданов
Отчет о траверсе Эльбруса с севера на юг с ночевкой на седловине, июль 2012 г.
Risk / Неприятности
Mount Elbrus Weather Forecast (3000m)
Путешествие в Кабардино-Балкарию: Восхождение на Эльбрус
Восхождения на Эльбрус — массовые аварии -
Коварство Эльбруса. Опасность в легкости.
Восхождение на Эльбрус | ФОТО НОВОСТИ
Как я ходил на Эльбрус
Risk / Новички, гиды и зимний Эльбрус.
Risk / В такую погоду на Эльбрус ходить нельзя или «Вызывай вертолёт!»
admin @ 13:29


08.09.2016

Сконвертировать CR2 в jpeg или png

Привет всем! Сегодня мы сконвертируем фото из Canon EOS 400D в привычне глазу форматы — jpeg или png.

Установим замечательный пакет ufraw

sudo apt-get install ufraw ufraw-batch

далее переходим в папку с файлами *.CR2 и выполняем

для того чтобы получить jpg:

ufraw-batch --out-type jpeg *.CR2

для того чтобы получить png:

ufraw-batch --out-type png *.CR2

Можно также установить расширение для gimp:

sudo apt-get install gimp-ufraw

и потом экспортировать как jpeg или как png

admin @ 14:16


06.04.2016

Ubuntu поставить Java 8

При установке PyCharm столкнулся с проблемой:

~/Soft/PyCharm/bin/: $ ./pycharm.sh
Unsupported Java Version: Cannot start under Java 1.7.0_79-b14: Java 1.8 or late

Решается проблема просто:

~: $ sudo add-apt-repository ppa:webupd8team/java
~: $ sudo apt-get update
~: $ sudo apt-get install oracle-java8-installer

Ответим на вопросы установщика. Так же можно поставить пакет для установки переменных окружения:

~: $ sudo apt-get install oracle-java8-set-default
admin @ 23:16


04.04.2016

пара полезных вещей с ffmpeg

Допустим у нас есть avi-файл, и мы хотим выбрать оттуда звуковую дорожку. Живой пример — мне понравился фильм и я хочу вытащить дорожку на англ языке, чтобы слушая на досуге, улучшать свой английский. В этом нам поможет пакет ffmpeg.

ffmpeg -i film.avi -map 0:2 -vn -ar 44100 -ac 2 -ab 192 -f mp3 english.mp3

параметр map 0:2 говорит нам что мы извлекаем дорожку 2 (допустим первая — у нас на русском языке, и даром не сдалась)

Если у вас Ubuntu и нет этого пакета в репах, поставить можно следующим образом:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg

Updated:

Может быть также полезен рецепт:

ffmpeg -i input_file.wav -vn -ar 44100 -ac 2 -ab 192 -f mp3 output_file.mp3
admin @ 23:42


Older Posts »
 

Powered by WordPress