Site da Fundação Metabrainz. Este é um aplicativo da Web baseado em frascos que fornece informações sobre a fundação e seus apoiadores, aceita doações de usuários e organizações e fornece acesso aos pacotes de replicação para o MusicBrainz.
Como outros Pythonbrainz, esse repositório também possui as ações do GitHub para ajudar a fazer uma liberação. Uma imagem do Docker é construída e empurrada para o Docker Hub sempre que uma liberação é feita do GitHub. A seguir estão as etapas para fazer um lançamento:
Draft no topo. Clique no botão Edit ao lado.Tag Version , digite a tag com a qual deseja o docker. Por exemplo, se você inserir v-2021-06-08.0 como a tag, a imagem do docker correspondente será metabrainz/metabrainz:v-2021-06-08.0 .Publish release .A maneira mais fácil de configurar o site da Metabrainz para o desenvolvimento é usar o Docker. Verifique se ele está instalado em sua máquina antes de seguir as instruções.
A configuração do aplicativo deve ser armazenada no arquivo chamado config.py . Você pode usar um exemplo um ( config.py.example ) e ajustar a configuração:
$ cp config.py.example config.py
$ vim config.py
Você precisa garantir que as variáveis necessárias estejam definidas.
Para permitir que os usuários efetuem login, você precisará definir duas teclas: MUSICBRAINZ_CLIENT_ID e MUSICBRAINZ_CLIENT_SECRET . Para obter essas chaves, você precisa registrar sua instância de metabrainz.org no musicbrainz em https://musicbrainz.org/account/applications/register. Defina o campo URL de retorno de chamada para http://<your host>/login/musicbrainz/post (se PREFERRED_URL_SCHEME no arquivo de configuração estiver definido como https , verifique se você especifica o mesmo protocolo para URL de chamada). Se você executar o servidor localmente, substitua <your host> pelo localhost .
Em seguida, é a configuração dos sistemas de pagamento. Usamos o PayPal e o Stripe para aceitar pagamentos à nossa fundação. O dicionário PayPal_Account_Ids contém IDs PayPal ou endereços de email de contas para cada moeda suportada. PayPal_business é um endereço para não doações; Todos os pagamentos enviados para lá serão ignorados.
Depois que essas configurações foram definidas e você tem certeza de que sua configuração está funcionando corretamente no modo de teste, você pode girar a chave. Defina a depuração como False e PAPLEY_PRODUÇÃO como True . AVISO! Para fins de desenvolvimento, você deve usar apenas pagamentos no modo de depuração.
Os pacotes de replicação devem ser copiados no diretório ./data/replication_packets . Deve ter a seguinte estrutura:
./data/replication_packets/
- hourly replication packets
Este comando criará e iniciará todos os serviços que você poderá usar para o desenvolvimento:
$ ./develop.sh
Na primeira vez em que você configura o aplicativo, o banco de dados precisa ser inicializado:
$ ./develop.sh manage init-db --create-db
O servidor da web agora deve estar acessível em http: // localhost: 80/ .
Devido à maneira como o ambiente de desenvolvimento funciona com o Docker, é necessário construir CSS separadamente da construção de uma imagem. Para fazer isso, você precisa iniciar o servidor de desenvolvimento (todos os contêineres com composição do Docker) e anexar ao contêiner web :
$ ./develop.sh exec -it web bashEm seguida, instale os módulos NPM e construa 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.cssAs duas últimas compilações são necessárias apenas se você planeja usar a interface de administrador.
Depois de construir e iniciar todos os serviços, conforme mencionado acima, execute:
$ ./develop.sh manage extract-strings
Os arquivos de maconha são compilados automaticamente sempre que os serviços são construídos, mas, caso você faça alterações nos arquivos de maconha e deseja compilar os arquivos de tradução novamente, execute:
$ ./develop.sh manage compile-translations
Para executar todos os testes, use:
$ ./test.sh
Antes de fazer qualquer coisa, certifique -se de que a variável PAYMENT_PRODUCTION no arquivo de configuração esteja definida como False ! Dessa forma, você usará ambientes de teste em que cartões de crédito e contas bancárias não são realmente cobradas. Mais informações sobre os ambientes de teste para cada serviço de pagamento podem ser encontrados em sua documentação:
Observe que, para que o IPNS funcione, o aplicativo deve estar disponível publicamente. Se você estiver fazendo desenvolvimento em sua máquina local, é provável que seus pontos de extremidade de retorno de chamada não sejam acessíveis para os processadores de pagamento.