Веб -сайт для фонда Metabrainz. Это веб-приложение, основанное на колбе, которое предоставляет информацию о фонде и его сторонниках, принимает пожертвования от пользователей и организаций и предоставляет доступ к пакетам репликации для Musicbrainz.
Как и другие Pythonbrainz, этот репозиторий также имеет настройку действий GitHub, чтобы помочь сделать выпуск. Изображение Docker создается и выдвигается в Docker Hub всякий раз, когда выпуск изготовлен из GitHub. Ниже приведены шаги, чтобы сделать релиз:
Draft релиза наверху. Нажмите кнопку Edit рядом с ней».Tag Version введите тег, который вы хотите, чтобы Docker Image для помещения. Например, если вы введете v-2021-06-08.0 в качестве тега, соответствующее изображение Docker будет metabrainz/metabrainz:v-2021-06-08.0 .Publish release .Самый простой способ создать веб -сайт Metabrainz для разработки - это использовать Docker. Убедитесь, что он установлен на вашей машине перед следованием инструкциям.
Конфигурация приложения должна храниться в файле с именем config.py . Вы можете использовать пример One ( config.py.example ) и настроить конфигурацию:
$ cp config.py.example config.py
$ vim config.py
Вы должны убедиться, что необходимые переменные установлены.
Чтобы пользователи могли войти в систему, вам нужно установить два ключа: MUSICBRAINZ_CLIENT_ID и MUSICBRAINZ_CLIENT_SECRET . Чтобы получить эти ключи, вам необходимо зарегистрировать экземпляр metabrainz.org на Musicbrainz по адресу https://musicbrainz.org/account/applications/register. Установите поле URL -адреса Callback на http://<your host>/login/musicbrainz/post (если PREFERRED_URL_SCHEME в файле конфигурации установлен в https , убедитесь, что вы указали тот же протокол для URL -адреса обратного вызова). Если вы запускаете сервер локально, замените <your host> на localhost .
Далее находится конфигурация платежных систем. Мы используем PayPal и Stripe, чтобы принять платежи в нашем фундаменте. Словарь PayPal_account_ids содержит идентификаторы PayPal или адреса электронной почты счетов для каждой поддерживаемой валюты. PayPal_business -это адрес для не доможни; Все отправленные платежи будут проигнорированы.
После того, как эти настройки были установлены, и вы уверены, что ваша конфигурация работает должным образом в режиме тестирования, вы можете перевернуть переключатель. Установите отладку на False и платеж_производство True . ПРЕДУПРЕЖДЕНИЕ! В целях разработки вы должны использовать только платежи в режиме отладки.
Пакеты репликации должны быть скопированы в каталог ./data/replication_packets . У него должна быть следующая структура:
./data/replication_packets/
- hourly replication packets
Эта команда создаст и запустит все услуги, которые вы сможете использовать для разработки:
$ ./develop.sh
В первый раз, когда вы настроили приложение, база данных должна быть инициализирована:
$ ./develop.sh manage init-db --create-db
Веб -сервер теперь должен быть доступен по адресу http: // localhost: 80/ .
Благодаря тому, как среда разработки работает с Docker, необходимо создавать CSS отдельно от создания изображения. Для этого вам нужно запустить сервер разработки (все контейнеры с Docker Compose) и прикрепить к web -контейнеру:
$ ./develop.sh exec -it web bashЗатем установите модули NPM и создайте CSS:
web# npm install
web# ./node_modules/.bin/lessc ./metabrainz/static/css/main.less > ./metabrainz/static/css/main.css
web# ./node_modules/.bin/lessc ./metabrainz/static/css/theme/boostrap/boostrap.less > ./metabrainz/static/css/theme/boostrap/boostrap.css
web# ./node_modules/.bin/lessc ./metabrainz/static/fonts/font_awesome/less/font-awesome.less > ./metabrainz/static/fonts/font_awesome/less/font-awesome.cssПоследние две сборки необходимы, только если вы планируете использовать интерфейс администратора.
Как только вы построили и запустили все услуги, как упоминалось выше, запустите:
$ ./develop.sh manage extract-strings
Файлы POT собираются автоматически каждый раз, когда строится службы, но если вы внесете какие -либо изменения в файлы POT и хотите снова скомпилировать файлы перевода, запустите:
$ ./develop.sh manage compile-translations
Чтобы запустить все тесты использование:
$ ./test.sh
Прежде чем делать что -либо, убедитесь, что переменная PAYMENT_PRODUCTION в файле конфигурации установлена на False ! Таким образом, вы используете среды тестирования, где кредитные карты и банковские счета фактически не взимаются. Более подробную информацию о средах тестирования для каждой платежной службы можно найти в их документации:
Обратите внимание, что для работы IPN приложение должно быть общедоступным. Если вы делаете разработку на своей местной машине, вполне вероятно, что конечные точки вызовов не будут доступны для обработчиков платежей.