From c1b80ab1847ddbfe77360ed04b426029afdd8c85 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 17:20:46 +0200 Subject: [PATCH 01/12] Removed dind requirement to run tests for the api part --- .gitlab-ci.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a10a92e0..577d8b799 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,15 +4,16 @@ stages: test_api: stage: test + image: funkwhale/funkwhale:base before_script: - - docker-compose -f api/test.yml build + - cd api + - pip install -r requirements/test.txt script: - - docker-compose -f api/test.yml run test - after_script: - - docker-compose -f api/test.yml run test rm -rf funkwhale_api/media/ + - export DJANGO_SETTINGS_MODULE=config.settings.test + - python manage.py test tags: - - dind + - docker build_front: stage: build @@ -53,6 +54,6 @@ pages: paths: - public only: - - master + - develop tags: - docker From 4cb2f53db3036a9fc55ccb61764c01094bb608b2 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 18:10:38 +0200 Subject: [PATCH 02/12] Fixed #11: Upgraded to django 1.11 --- .env.dev | 2 +- api/config/api_urls.py | 6 ++++-- api/funkwhale_api/music/views.py | 3 ++- api/requirements/base.txt | 2 +- api/requirements/local.txt | 4 ++-- api/requirements/test.txt | 11 +++-------- dev.yml | 7 ++++--- 7 files changed, 17 insertions(+), 18 deletions(-) diff --git a/.env.dev b/.env.dev index 75954b6bc..de58e2758 100644 --- a/.env.dev +++ b/.env.dev @@ -1,3 +1,3 @@ -BACKEND_URL=http://localhost:6001 +BACKEND_URL=http://localhost:12081 YOUTUBE_API_KEY= API_AUTHENTICATION_REQUIRED=False diff --git a/api/config/api_urls.py b/api/config/api_urls.py index 4ed81d284..1da377116 100644 --- a/api/config/api_urls.py +++ b/api/config/api_urls.py @@ -2,6 +2,8 @@ from rest_framework import routers from django.conf.urls import include, url from funkwhale_api.music import views from funkwhale_api.playlists import views as playlists_views +from rest_framework_jwt import views as jwt_views + router = routers.SimpleRouter() router.register(r'tags', views.TagViewSet, 'tags') @@ -21,6 +23,6 @@ urlpatterns += [ url(r'^radios/', include('funkwhale_api.radios.urls', namespace='radios')), url(r'^history/', include('funkwhale_api.history.urls', namespace='history')), url(r'^users/', include('funkwhale_api.users.api_urls', namespace='users')), - url(r'^token/', 'rest_framework_jwt.views.obtain_jwt_token'), - url(r'^token/refresh/', 'rest_framework_jwt.views.refresh_jwt_token'), + url(r'^token/', jwt_views.obtain_jwt_token), + url(r'^token/refresh/', jwt_views.refresh_jwt_token), ] diff --git a/api/funkwhale_api/music/views.py b/api/funkwhale_api/music/views.py index 4887ad139..772f4173e 100644 --- a/api/funkwhale_api/music/views.py +++ b/api/funkwhale_api/music/views.py @@ -121,13 +121,14 @@ class TrackViewSet(TagViewSetMixin, SearchMixin, viewsets.ReadOnlyModelViewSet): class TagViewSet(viewsets.ReadOnlyModelViewSet): - queryset = Tag.objects.all() + queryset = Tag.objects.all().order_by('name') serializer_class = serializers.TagSerializer permission_classes = [ConditionalAuthentication] class Search(views.APIView): max_results = 3 + def get(self, request, *args, **kwargs): query = request.GET['query'] results = { diff --git a/api/requirements/base.txt b/api/requirements/base.txt index 626525572..0b9e03090 100644 --- a/api/requirements/base.txt +++ b/api/requirements/base.txt @@ -1,5 +1,5 @@ # Bleeding edge Django -django==1.8.7 +django==1.11 # Configuration django-environ==0.4.0 diff --git a/api/requirements/local.txt b/api/requirements/local.txt index ff8f35c74..3f681b26d 100644 --- a/api/requirements/local.txt +++ b/api/requirements/local.txt @@ -2,11 +2,11 @@ -r base.txt coverage==4.0.3 django_coverage_plugin==1.1 -Sphinx +Sphinx==1.6.2 django-extensions==1.5.9 Werkzeug==0.11.2 django-test-plus==1.0.11 -factory_boy==2.6.0 +factory_boy>=2.8.1 # django-debug-toolbar that works with Django 1.5+ django-debug-toolbar>=1.5,<1.6 diff --git a/api/requirements/test.txt b/api/requirements/test.txt index bcb6ef060..93509c573 100644 --- a/api/requirements/test.txt +++ b/api/requirements/test.txt @@ -1,12 +1,7 @@ # Test dependencies go here. --r base.txt +-r local.txt - -coverage==4.0.3 -django_coverage_plugin==1.1 flake8==2.5.0 -django-test-plus==1.0.11 -factory_boy>=2.8.1 -model_mommy -tox +model-mommy==1.3.2 +tox==2.7.0 diff --git a/dev.yml b/dev.yml index 526ce1ba8..21b0912e3 100644 --- a/dev.yml +++ b/dev.yml @@ -36,17 +36,18 @@ services: - C_FORCE_ROOT=true volumes: - ./api:/app - + - ./data/music:/music api: env_file: .env.dev build: context: ./api - dockerfile: docker/Dockerfile.local + dockerfile: docker/Dockerfile.test command: python /app/manage.py runserver 0.0.0.0:12081 volumes: - ./api:/app + - ./data/music:/music ports: - - "12081" + - "12081:12081" links: - postgres - redis From edc8794a4f9ea4fbf4cf4a2220fb60ad29da442c Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 18:46:19 +0200 Subject: [PATCH 03/12] Fixed #17: removed a few useless dependencies and files --- api/funkwhale_api/templates/account/base.html | 2 - .../templates/account/email.html | 80 ------------------- .../templates/account/email_confirm.html | 37 --------- .../templates/account/email_confirmed.html | 21 ----- .../templates/account/login.html | 48 ----------- .../templates/account/logout.html | 28 ------- .../templates/account/password_change.html | 22 ----- .../templates/account/password_reset.html | 39 --------- .../account/password_reset_done.html | 22 ----- .../account/password_reset_from_key.html | 32 -------- .../account/password_reset_from_key_done.html | 16 ---- .../templates/account/password_set.html | 23 ------ .../templates/account/signup.html | 33 -------- .../templates/account/signup_closed.html | 18 ----- .../templates/account/verification_sent.html | 18 ----- .../account/verified_email_required.html | 28 ------- .../templates/users/user_detail.html | 36 --------- .../templates/users/user_form.html | 17 ---- .../templates/users/user_list.html | 20 ----- api/funkwhale_api/users/urls.py | 10 --- api/requirements/base.txt | 44 ++++------ 21 files changed, 17 insertions(+), 577 deletions(-) delete mode 100644 api/funkwhale_api/templates/account/base.html delete mode 100644 api/funkwhale_api/templates/account/email.html delete mode 100644 api/funkwhale_api/templates/account/email_confirm.html delete mode 100644 api/funkwhale_api/templates/account/email_confirmed.html delete mode 100644 api/funkwhale_api/templates/account/login.html delete mode 100644 api/funkwhale_api/templates/account/logout.html delete mode 100644 api/funkwhale_api/templates/account/password_change.html delete mode 100644 api/funkwhale_api/templates/account/password_reset.html delete mode 100644 api/funkwhale_api/templates/account/password_reset_done.html delete mode 100644 api/funkwhale_api/templates/account/password_reset_from_key.html delete mode 100644 api/funkwhale_api/templates/account/password_reset_from_key_done.html delete mode 100644 api/funkwhale_api/templates/account/password_set.html delete mode 100644 api/funkwhale_api/templates/account/signup.html delete mode 100644 api/funkwhale_api/templates/account/signup_closed.html delete mode 100644 api/funkwhale_api/templates/account/verification_sent.html delete mode 100644 api/funkwhale_api/templates/account/verified_email_required.html delete mode 100644 api/funkwhale_api/templates/users/user_detail.html delete mode 100644 api/funkwhale_api/templates/users/user_form.html delete mode 100644 api/funkwhale_api/templates/users/user_list.html delete mode 100644 api/funkwhale_api/users/urls.py diff --git a/api/funkwhale_api/templates/account/base.html b/api/funkwhale_api/templates/account/base.html deleted file mode 100644 index c64b47a4a..000000000 --- a/api/funkwhale_api/templates/account/base.html +++ /dev/null @@ -1,2 +0,0 @@ -{% extends "base.html" %} -{% block title %}{% block head_title %}{% endblock head_title %}{% endblock title %} diff --git a/api/funkwhale_api/templates/account/email.html b/api/funkwhale_api/templates/account/email.html deleted file mode 100644 index 7c52a4a27..000000000 --- a/api/funkwhale_api/templates/account/email.html +++ /dev/null @@ -1,80 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load crispy_forms_tags %} - -{% block head_title %}{% trans "Account" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "E-mail Addresses" %}

- {% if user.emailaddress_set.all %} -

{% trans 'The following e-mail addresses are associated with your account:' %}

- - - - {% else %} -

{% trans 'Warning:'%} {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}

- - {% endif %} - - -

{% trans "Add E-mail Address" %}

- -
- {% csrf_token %} - {{ form|crispy }} - -
-
-
-
-{% endblock %} - - -{% block extra_body %} - -{% endblock %} - diff --git a/api/funkwhale_api/templates/account/email_confirm.html b/api/funkwhale_api/templates/account/email_confirm.html deleted file mode 100644 index 4395d46bf..000000000 --- a/api/funkwhale_api/templates/account/email_confirm.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load account %} - -{% block head_title %}{% trans "Confirm E-mail Address" %}{% endblock %} - - -{% block content %} -
-
-
-

{% trans "Confirm E-mail Address" %}

- - {% if confirmation %} - - {% user_display confirmation.email_address.user as user_display %} - -

{% blocktrans with confirmation.email_address.email as email %}Please confirm that {{ email }} is an e-mail address for user {{ user_display }}.{% endblocktrans %}

- -
- {% csrf_token %} - -
- - {% else %} - - {% url 'account_email' as email_url %} - -

{% blocktrans %}This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request.{% endblocktrans %}

- - {% endif %} -
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/email_confirmed.html b/api/funkwhale_api/templates/account/email_confirmed.html deleted file mode 100644 index 7b2edf08b..000000000 --- a/api/funkwhale_api/templates/account/email_confirmed.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load account %} - -{% block head_title %}{% trans "Confirm E-mail Address" %}{% endblock %} - - -{% block content %} -
-
-
-

{% trans "Confirm E-mail Address" %}

- - {% user_display email_address.user as user_display %} - -

{% blocktrans with email_address.email as email %}You have confirmed that {{ email }} is an e-mail address for user {{ user_display }}.{% endblocktrans %}

-
-
-
-{% endblock %} diff --git a/api/funkwhale_api/templates/account/login.html b/api/funkwhale_api/templates/account/login.html deleted file mode 100644 index 4a05dc772..000000000 --- a/api/funkwhale_api/templates/account/login.html +++ /dev/null @@ -1,48 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load account %} -{% load socialaccount %} -{% load crispy_forms_tags %} - -{% block head_title %}{% trans "Sign In" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Sign In" %}

- {% get_providers as socialaccount_providers %} - {% if socialaccount_providers %} -

{% blocktrans with site.name as site_name %}Please sign in with one - of your existing third party accounts. Or, sign up - for a {{ site_name }} account and sign in below:{% endblocktrans %}

- -
- -
    - {% include "socialaccount/snippets/provider_list.html" with process="login" %} -
- - - -
- - {% include "socialaccount/snippets/login_extra.html" %} - - {% endif %} - - -
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/logout.html b/api/funkwhale_api/templates/account/logout.html deleted file mode 100644 index 4f1f8f3e6..000000000 --- a/api/funkwhale_api/templates/account/logout.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} - -{% block head_title %}{% trans "Sign Out" %}{% endblock %} - -{% block content %} -
-
-
- -

{% trans "Sign Out" %}

- -

{% trans 'Are you sure you want to sign out?' %}

- -
- {% csrf_token %} - {% if redirect_field_value %} - - {% endif %} - -
-
-
-
- -{% endblock %} - diff --git a/api/funkwhale_api/templates/account/password_change.html b/api/funkwhale_api/templates/account/password_change.html deleted file mode 100644 index e282b14ad..000000000 --- a/api/funkwhale_api/templates/account/password_change.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load crispy_forms_tags %} -{% block head_title %}{% trans "Change Password" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Change Password" %}

- -
- {% csrf_token %} - {{ form|crispy }} - -
-
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/password_reset.html b/api/funkwhale_api/templates/account/password_reset.html deleted file mode 100644 index efdfbd05c..000000000 --- a/api/funkwhale_api/templates/account/password_reset.html +++ /dev/null @@ -1,39 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load account %} -{% load crispy_forms_tags %} - -{% block head_title %}{% trans "Password Reset" %}{% endblock %} - -{% block content %} -
-
-
- -

{% trans "Password Reset" %}

- {% if user.is_authenticated %} - {% include "account/snippets/already_logged_in.html" %} - {% endif %} - -

{% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}

- -
- {% csrf_token %} - {{ form|crispy }} - -
- -

{% blocktrans %}Please contact us if you have any trouble resetting your password.{% endblocktrans %}

-
-
-
-{% endblock %} - -{% block javascript %} - {{ block.super }} - -{% endblock javascript %} - diff --git a/api/funkwhale_api/templates/account/password_reset_done.html b/api/funkwhale_api/templates/account/password_reset_done.html deleted file mode 100644 index 865ecaa0a..000000000 --- a/api/funkwhale_api/templates/account/password_reset_done.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load account %} - -{% block head_title %}{% trans "Password Reset" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Password Reset" %}

- - {% if user.is_authenticated %} - {% include "account/snippets/already_logged_in.html" %} - {% endif %} - -

{% blocktrans %}We have sent you an e-mail. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}

-
-
-
-{% endblock %} diff --git a/api/funkwhale_api/templates/account/password_reset_from_key.html b/api/funkwhale_api/templates/account/password_reset_from_key.html deleted file mode 100644 index 41b50843f..000000000 --- a/api/funkwhale_api/templates/account/password_reset_from_key.html +++ /dev/null @@ -1,32 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load crispy_forms_tags %} - -{% block head_title %}{% trans "Change Password" %}{% endblock %} - -{% block content %} -
-
-
-

{% if token_fail %}{% trans "Bad Token" %}{% else %}{% trans "Change Password" %}{% endif %}

- - {% if token_fail %} - {% url 'account_reset_password' as passwd_reset_url %} -

{% blocktrans %}The password reset link was invalid, possibly because it has already been used. Please request a new password reset.{% endblocktrans %}

- {% else %} - {% if form %} -
- {% csrf_token %} - {{ form|crispy }} - -
- {% else %} -

{% trans 'Your password is now changed.' %}

- {% endif %} - {% endif %} -
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/password_reset_from_key_done.html b/api/funkwhale_api/templates/account/password_reset_from_key_done.html deleted file mode 100644 index e940eb83d..000000000 --- a/api/funkwhale_api/templates/account/password_reset_from_key_done.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% block head_title %}{% trans "Change Password" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Change Password" %}

-

{% trans 'Your password is now changed.' %}

-
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/password_set.html b/api/funkwhale_api/templates/account/password_set.html deleted file mode 100644 index 03e2fcd2d..000000000 --- a/api/funkwhale_api/templates/account/password_set.html +++ /dev/null @@ -1,23 +0,0 @@ - -{% extends "account/base.html" %} - -{% load i18n crispy_forms_tags %} - -{% block head_title %}{% trans "Set Password" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Set Password" %}

- -
- {% csrf_token %} - {{ form|crispy }} - -
-
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/signup.html b/api/funkwhale_api/templates/account/signup.html deleted file mode 100644 index 5db1cac77..000000000 --- a/api/funkwhale_api/templates/account/signup.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} -{% load crispy_forms_tags %} - -{% block title %}{% trans "Signup" %}{% endblock title %} - -{% block content %} - -
-
-
-

{% trans "Sign Up" %}

- -

{% blocktrans %}Already have an account? Then please sign in.{% endblocktrans %}

- - -
-
-
- - -{% endblock content %} - - - diff --git a/api/funkwhale_api/templates/account/signup_closed.html b/api/funkwhale_api/templates/account/signup_closed.html deleted file mode 100644 index 24e93d7bc..000000000 --- a/api/funkwhale_api/templates/account/signup_closed.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} - -{% block head_title %}{% trans "Sign Up Closed" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Sign Up Closed" %}

- -

{% trans "We are sorry, but the sign up is currently closed." %}

-
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/account/verification_sent.html b/api/funkwhale_api/templates/account/verification_sent.html deleted file mode 100644 index f994b46e0..000000000 --- a/api/funkwhale_api/templates/account/verification_sent.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} - -{% block head_title %}{% trans "Verify Your E-mail Address" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Verify Your E-mail Address" %}

- -

{% blocktrans %}We have sent an e-mail to {{ email }} for verification. Follow the link provided to finalize the signup process. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}

-
-
-
- -{% endblock %} diff --git a/api/funkwhale_api/templates/account/verified_email_required.html b/api/funkwhale_api/templates/account/verified_email_required.html deleted file mode 100644 index bf4887a4a..000000000 --- a/api/funkwhale_api/templates/account/verified_email_required.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "account/base.html" %} - -{% load i18n %} - -{% block head_title %}{% trans "Verify Your E-mail Address" %}{% endblock %} - -{% block content %} -
-
-
-

{% trans "Verify Your E-mail Address" %}

- - {% url 'account_email' as email_url %} - -

{% blocktrans %}This part of the site requires us to verify that - you are who you claim to be. For this purpose, we require that you - verify ownership of your e-mail address. {% endblocktrans %}

- -

{% blocktrans %}We have sent an e-mail to you for - verification. Please click on the link inside this e-mail. Please - contact us if you do not receive it within a few minutes.{% endblocktrans %}

- -

{% blocktrans %}Note: you can still change your e-mail address.{% endblocktrans %}

-
-
-
-{% endblock %} - diff --git a/api/funkwhale_api/templates/users/user_detail.html b/api/funkwhale_api/templates/users/user_detail.html deleted file mode 100644 index f8deb6b72..000000000 --- a/api/funkwhale_api/templates/users/user_detail.html +++ /dev/null @@ -1,36 +0,0 @@ -{% extends "base.html" %} -{% load static %} - -{% block title %}User: {{ object.username }}{% endblock %} - -{% block content %} -
- -
-
- -

{{ object.username }}

- {% if object.name %} -

{{ object.name }}

- {% endif %} -
-
- -{% if object == request.user %} - -
- -
- My Info - E-Mail - -
- -
- -{% endif %} - - -
-{% endblock content %} - diff --git a/api/funkwhale_api/templates/users/user_form.html b/api/funkwhale_api/templates/users/user_form.html deleted file mode 100644 index c07b8f2fc..000000000 --- a/api/funkwhale_api/templates/users/user_form.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends "base.html" %} -{% load crispy_forms_tags %} - -{% block title %}{{ user.username }}{% endblock %} - -{% block content %} -

{{ user.username }}

-
- {% csrf_token %} - {{ form|crispy }} -
-
- -
-
-
-{% endblock %} diff --git a/api/funkwhale_api/templates/users/user_list.html b/api/funkwhale_api/templates/users/user_list.html deleted file mode 100644 index 7fbcc52d4..000000000 --- a/api/funkwhale_api/templates/users/user_list.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends "base.html" %} -{% load static %}{% load i18n %} -{% block title %}Members{% endblock %} - -{% block content %} - -
- -

Users

- -
- {% for user in user_list %} - -

{{ user.username }}

-
- {% endfor %} - -
- -{% endblock content %} diff --git a/api/funkwhale_api/users/urls.py b/api/funkwhale_api/users/urls.py deleted file mode 100644 index 94b18b264..000000000 --- a/api/funkwhale_api/users/urls.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - -from django.conf.urls import url - -from . import views - -urlpatterns = [ - -] diff --git a/api/requirements/base.txt b/api/requirements/base.txt index 0b9e03090..ae851962a 100644 --- a/api/requirements/base.txt +++ b/api/requirements/base.txt @@ -6,12 +6,6 @@ django-environ==0.4.0 django-secure==1.0.1 whitenoise==2.0.6 - -# Forms -django-braces==1.8.1 -# django-crispy-forms==1.5.2 -# django-floppyforms==1.5.2 - # Models django-model-utils==2.3.1 @@ -26,10 +20,6 @@ django-allauth==0.24.1 # Python-PostgreSQL Database Adapter psycopg2==2.6.1 -# Unicode slugification -unicode-slugify==0.1.3 -django-autoslug==1.9.3 - # Time zones support pytz==2015.7 @@ -42,21 +32,21 @@ celery==3.1.19 # Your custom requirements go here -django-cors-headers -musicbrainzngs +django-cors-headers==2.1.0 +musicbrainzngs==0.6 youtube_dl>=2015.12.21 -djangorestframework -djangorestframework-jwt -django-celery -django-mptt -google-api-python-client -arrow -django-taggit -persisting_theory -django-versatileimagefield -django-cachalot -django-rest-auth -beautifulsoup4 -markdown -ipython -mutagen +djangorestframework==3.6.3 +djangorestframework-jwt==1.11.0 +django-celery==3.2.1 +django-mptt==0.8.7 +google-api-python-client==1.6.2 +arrow==0.10.0 +django-taggit==0.22.1 +persisting-theory==0.2.1 +django-versatileimagefield==1.7.1 +django-cachalot==1.5.0 +django-rest-auth==0.9.1 +beautifulsoup4==4.6.0 +Markdown==2.6.8 +ipython==6.1.0 +mutagen==1.38 From 4f15d3d28d1397f6cbf97fe8092a739353c10f9e Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 19:01:15 +0200 Subject: [PATCH 04/12] Fixed #19: now uses pytest as a testing framework --- .gitlab-ci.yml | 3 +-- api/pytest.ini | 5 +++++ api/requirements/test.txt | 4 ++++ api/runtests | 2 +- api/test.yml | 4 +--- 5 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 api/pytest.ini diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 577d8b799..74bc0f7b0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,8 +9,7 @@ test_api: - cd api - pip install -r requirements/test.txt script: - - export DJANGO_SETTINGS_MODULE=config.settings.test - - python manage.py test + - pytest tags: - docker diff --git a/api/pytest.ini b/api/pytest.ini new file mode 100644 index 000000000..4ab907403 --- /dev/null +++ b/api/pytest.ini @@ -0,0 +1,5 @@ +[pytest] +DJANGO_SETTINGS_MODULE=config.settings.test + +# -- recommended but optional: +python_files = tests.py test_*.py *_tests.py diff --git a/api/requirements/test.txt b/api/requirements/test.txt index 93509c573..a26cf5bdb 100644 --- a/api/requirements/test.txt +++ b/api/requirements/test.txt @@ -5,3 +5,7 @@ flake8==2.5.0 model-mommy==1.3.2 tox==2.7.0 +pytest +pytest-django +pytest-sugar +pytest-xdist diff --git a/api/runtests b/api/runtests index bd8db7a84..48e7b8267 100755 --- a/api/runtests +++ b/api/runtests @@ -2,4 +2,4 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -docker-compose -f $DIR/test.yml run test python manage.py test "$@" +docker-compose -f $DIR/test.yml run test pytest "$@" diff --git a/api/test.yml b/api/test.yml index dc50a9b54..6215e27de 100644 --- a/api/test.yml +++ b/api/test.yml @@ -1,8 +1,6 @@ test: dockerfile: docker/Dockerfile.test build: . - command: python manage.py test + command: pytest volumes: - .:/app - environment: - - DJANGO_SETTINGS_MODULE=config.settings.test From 80cfd7180a86ec514f302c5f1fec5c1cc1eb5e19 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 19:18:31 +0200 Subject: [PATCH 05/12] Fixed #20: added admin serving under /api/, minor tweaks to production nginx and env file --- api/config/settings/common.py | 2 +- deploy/env.prod.sample | 2 +- deploy/nginx.conf | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/config/settings/common.py b/api/config/settings/common.py index 5c55dfdc1..93381c4f5 100644 --- a/api/config/settings/common.py +++ b/api/config/settings/common.py @@ -199,7 +199,7 @@ CRISPY_TEMPLATE_PACK = 'bootstrap3' STATIC_ROOT = str(ROOT_DIR('staticfiles')) # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url -STATIC_URL = env("STATIC_URL", default='/static/') +STATIC_URL = env("STATIC_URL", default='/staticfiles/') # See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS STATICFILES_DIRS = ( diff --git a/deploy/env.prod.sample b/deploy/env.prod.sample index 38d355cb1..fd3b4327f 100644 --- a/deploy/env.prod.sample +++ b/deploy/env.prod.sample @@ -30,7 +30,7 @@ DJANGO_SETTINGS_MODULE=config.settings.production DJANGO_SECRET_KEY= # You don't have to edit this -DJANGO_ADMIN_URL=^admin/ +DJANGO_ADMIN_URL=^api/admin/ # Update it to match the domain that will be used to reach your funkwhale # instance diff --git a/deploy/nginx.conf b/deploy/nginx.conf index 32fe193f5..d87413543 100644 --- a/deploy/nginx.conf +++ b/deploy/nginx.conf @@ -20,7 +20,7 @@ server { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_pass http://funkwhale-api/api/; } @@ -28,6 +28,6 @@ server { alias /srv/funkwhale/data/media/; } location /staticfiles/ { - alias /srv/funkwhale/data/staticfiles/; + alias /srv/funkwhale/data/static/; } } From 368937c4228c8ce74d286415dd6d15f629a05bbc Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 19:48:09 +0200 Subject: [PATCH 06/12] Should now build funkwhale docker container and push it to docker hub --- .gitlab-ci.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 74bc0f7b0..0543cbc67 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ stages: - test - build + - deploy test_api: stage: test @@ -56,3 +57,17 @@ pages: - develop tags: - docker + +docker_image: + stage: test + before_script: + - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + - cd api + script: + - docker build -t funkwhale/funkwhale:$CI_COMMIT_REF_NAME . + - docker push funkwhale/funkwhale:$CI_COMMIT_REF_NAME + only: + - develop + - master + tags: + - dind From ab4b6c37649704a2e93be3536a5d7370acd10174 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 19:51:25 +0200 Subject: [PATCH 07/12] Fixed missing environment variable --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0543cbc67..af7eef434 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -61,7 +61,7 @@ pages: docker_image: stage: test before_script: - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + - docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD - cd api script: - docker build -t funkwhale/funkwhale:$CI_COMMIT_REF_NAME . From 3c2a6914ce4738bbd2eb169dfc733ea3a3084a6c Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 20:07:19 +0200 Subject: [PATCH 08/12] Fixup for last commit: wrong stage --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index af7eef434..ed8f7da5d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,7 +59,7 @@ pages: - docker docker_image: - stage: test + stage: deploy before_script: - docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD - cd api From 70634048c6ba48ccb8945d7579e80b37f77b23f4 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 20:19:09 +0200 Subject: [PATCH 09/12] Fixed #18: added v1 namespace under API --- api/config/api_urls.py | 8 +++++-- .../favorites/tests/test_favorites.py | 12 +++++----- .../history/tests/test_history.py | 4 ++-- api/funkwhale_api/music/models.py | 2 +- api/funkwhale_api/music/tests/test_api.py | 22 +++++++++---------- api/funkwhale_api/music/tests/test_lyrics.py | 2 +- .../musicbrainz/tests/test_api.py | 12 +++++----- .../playlists/tests/test_playlists.py | 4 ++-- .../providers/youtube/tests/test_youtube.py | 4 ++-- api/funkwhale_api/radios/tests/test_radios.py | 10 ++++----- api/funkwhale_api/users/tests/test_views.py | 2 +- front/src/config.js | 2 +- 12 files changed, 44 insertions(+), 40 deletions(-) diff --git a/api/config/api_urls.py b/api/config/api_urls.py index 1da377116..b56944d4e 100644 --- a/api/config/api_urls.py +++ b/api/config/api_urls.py @@ -14,9 +14,9 @@ router.register(r'import-batches', views.ImportBatchViewSet, 'import-batches') router.register(r'submit', views.SubmitViewSet, 'submit') router.register(r'playlists', playlists_views.PlaylistViewSet, 'playlists') router.register(r'playlist-tracks', playlists_views.PlaylistTrackViewSet, 'playlist-tracks') -urlpatterns = router.urls +v1_patterns = router.urls -urlpatterns += [ +v1_patterns += [ url(r'^providers/', include('funkwhale_api.providers.urls', namespace='providers')), url(r'^favorites/', include('funkwhale_api.favorites.urls', namespace='favorites')), url(r'^search$', views.Search.as_view(), name='search'), @@ -26,3 +26,7 @@ urlpatterns += [ url(r'^token/', jwt_views.obtain_jwt_token), url(r'^token/refresh/', jwt_views.refresh_jwt_token), ] + +urlpatterns = [ + url(r'^v1/', include(v1_patterns, namespace='v1')) +] diff --git a/api/funkwhale_api/favorites/tests/test_favorites.py b/api/funkwhale_api/favorites/tests/test_favorites.py index a68659ba4..230f030fe 100644 --- a/api/funkwhale_api/favorites/tests/test_favorites.py +++ b/api/funkwhale_api/favorites/tests/test_favorites.py @@ -24,7 +24,7 @@ class TestFavorites(TestCase): def test_user_can_get_his_favorites(self): favorite = TrackFavorite.add(self.track, self.user) - url = reverse('api:favorites:tracks-list') + url = reverse('api:v1:favorites:tracks-list') self.client.login(username=self.user.username, password='test') response = self.client.get(url) @@ -41,7 +41,7 @@ class TestFavorites(TestCase): self.assertEqual(expected, parsed_json['results']) def test_user_can_add_favorite_via_api(self): - url = reverse('api:favorites:tracks-list') + url = reverse('api:v1:favorites:tracks-list') self.client.login(username=self.user.username, password='test') response = self.client.post(url, {'track': self.track.pk}) @@ -60,7 +60,7 @@ class TestFavorites(TestCase): def test_user_can_remove_favorite_via_api(self): favorite = TrackFavorite.add(self.track, self.user) - url = reverse('api:favorites:tracks-detail', kwargs={'pk': favorite.pk}) + url = reverse('api:v1:favorites:tracks-detail', kwargs={'pk': favorite.pk}) self.client.login(username=self.user.username, password='test') response = self.client.delete(url, {'track': self.track.pk}) self.assertEqual(response.status_code, 204) @@ -69,7 +69,7 @@ class TestFavorites(TestCase): def test_user_can_remove_favorite_via_api_using_track_id(self): favorite = TrackFavorite.add(self.track, self.user) - url = reverse('api:favorites:tracks-remove') + url = reverse('api:v1:favorites:tracks-remove') self.client.login(username=self.user.username, password='test') response = self.client.delete( url, json.dumps({'track': self.track.pk}), @@ -83,7 +83,7 @@ class TestFavorites(TestCase): def test_can_restrict_api_views_to_authenticated_users(self): urls = [ - ('api:favorites:tracks-list', 'get'), + ('api:v1:favorites:tracks-list', 'get'), ] for route_name, method in urls: @@ -103,7 +103,7 @@ class TestFavorites(TestCase): def test_can_filter_tracks_by_favorites(self): favorite = TrackFavorite.add(self.track, self.user) - url = reverse('api:tracks-list') + url = reverse('api:v1:tracks-list') self.client.login(username=self.user.username, password='test') response = self.client.get(url, data={'favorites': True}) diff --git a/api/funkwhale_api/history/tests/test_history.py b/api/funkwhale_api/history/tests/test_history.py index 448c5b15e..61009615a 100644 --- a/api/funkwhale_api/history/tests/test_history.py +++ b/api/funkwhale_api/history/tests/test_history.py @@ -23,7 +23,7 @@ class TestHistory(TestCase): def test_anonymous_user_can_create_listening_via_api(self): track = mommy.make('music.Track') - url = self.reverse('api:history:listenings-list') + url = self.reverse('api:v1:history:listenings-list') response = self.client.post(url, { 'track': track.pk, }) @@ -38,7 +38,7 @@ class TestHistory(TestCase): self.client.login(username=self.user.username, password='test') - url = self.reverse('api:history:listenings-list') + url = self.reverse('api:v1:history:listenings-list') response = self.client.post(url, { 'track': track.pk, }) diff --git a/api/funkwhale_api/music/models.py b/api/funkwhale_api/music/models.py index 8d4e84a23..702308477 100644 --- a/api/funkwhale_api/music/models.py +++ b/api/funkwhale_api/music/models.py @@ -314,7 +314,7 @@ class Track(APIModelMixin): return work def get_lyrics_url(self): - return reverse('api:tracks-lyrics', kwargs={'pk': self.pk}) + return reverse('api:v1:tracks-lyrics', kwargs={'pk': self.pk}) @property def full_name(self): diff --git a/api/funkwhale_api/music/tests/test_api.py b/api/funkwhale_api/music/tests/test_api.py index ff3deedf3..d8f56eeb9 100644 --- a/api/funkwhale_api/music/tests/test_api.py +++ b/api/funkwhale_api/music/tests/test_api.py @@ -20,7 +20,7 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): def test_can_submit_youtube_url_for_track_import(self, *mocks): mbid = '9968a9d6-8d92-4051-8f76-674e157b6eed' video_id = 'tPEE9ZwTmy0' - url = reverse('api:submit-single') + url = reverse('api:v1:submit-single') user = User.objects.create_superuser(username='test', email='test@test.com', password='test') self.client.login(username=user.username, password='test') response = self.client.post(url, {'import_url': 'https://www.youtube.com/watch?v={0}'.format(video_id), 'mbid': mbid}) @@ -33,7 +33,7 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): user = User.objects.create_superuser(username='test', email='test@test.com', password='test') mbid = '9968a9d6-8d92-4051-8f76-674e157b6eed' video_id = 'tPEE9ZwTmy0' - url = reverse('api:submit-single') + url = reverse('api:v1:submit-single') self.client.login(username=user.username, password='test') with self.settings(CELERY_ALWAYS_EAGER=False): response = self.client.post(url, {'import_url': 'https://www.youtube.com/watch?v={0}'.format(video_id), 'mbid': mbid}) @@ -69,7 +69,7 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): }, ] } - url = reverse('api:submit-album') + url = reverse('api:v1:submit-album') self.client.login(username=user.username, password='test') with self.settings(CELERY_ALWAYS_EAGER=False): response = self.client.post(url, json.dumps(payload), content_type="application/json") @@ -123,7 +123,7 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): } ] } - url = reverse('api:submit-artist') + url = reverse('api:v1:submit-artist') self.client.login(username=user.username, password='test') with self.settings(CELERY_ALWAYS_EAGER=False): response = self.client.post(url, json.dumps(payload), content_type="application/json") @@ -159,7 +159,7 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): batch = models.ImportBatch.objects.create(submitted_by=user1) job = models.ImportJob.objects.create(batch=batch, mbid=mbid, source=source) - url = reverse('api:import-batches-list') + url = reverse('api:v1:import-batches-list') self.client.login(username=user2.username, password='test') response2 = self.client.get(url) @@ -175,7 +175,7 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): artist2 = models.Artist.objects.create(name='Test2') query = 'test1' expected = '[{0}]'.format(json.dumps(serializers.ArtistSerializerNested(artist1).data)) - url = self.reverse('api:artists-search') + url = self.reverse('api:v1:artists-search') response = self.client.get(url + '?query={0}'.format(query)) self.assertJSONEqual(expected, json.loads(response.content.decode('utf-8'))) @@ -187,17 +187,17 @@ class TestAPI(TMPDirTestCaseMixin, TestCase): track2 = models.Track.objects.create(artist=artist2, title="test_track2") query = 'test track 1' expected = '[{0}]'.format(json.dumps(serializers.TrackSerializerNested(track1).data)) - url = self.reverse('api:tracks-search') + url = self.reverse('api:v1:tracks-search') response = self.client.get(url + '?query={0}'.format(query)) self.assertJSONEqual(expected, json.loads(response.content.decode('utf-8'))) def test_can_restrict_api_views_to_authenticated_users(self): urls = [ - ('api:tags-list', 'get'), - ('api:tracks-list', 'get'), - ('api:artists-list', 'get'), - ('api:albums-list', 'get'), + ('api:v1:tags-list', 'get'), + ('api:v1:tracks-list', 'get'), + ('api:v1:artists-list', 'get'), + ('api:v1:albums-list', 'get'), ] for route_name, method in urls: diff --git a/api/funkwhale_api/music/tests/test_lyrics.py b/api/funkwhale_api/music/tests/test_lyrics.py index f74ecb2ef..0ea22371b 100644 --- a/api/funkwhale_api/music/tests/test_lyrics.py +++ b/api/funkwhale_api/music/tests/test_lyrics.py @@ -59,7 +59,7 @@ Is it me you're looking for?""" work=None, mbid='07ca77cf-f513-4e9c-b190-d7e24bbad448') - url = reverse('api:tracks-lyrics', kwargs={'pk': track.pk}) + url = reverse('api:v1:tracks-lyrics', kwargs={'pk': track.pk}) user = User.objects.create_user( username='test', email='test@test.com', password='test') self.client.login(username=user.username, password='test') diff --git a/api/funkwhale_api/musicbrainz/tests/test_api.py b/api/funkwhale_api/musicbrainz/tests/test_api.py index 1734c943c..f962e0f78 100644 --- a/api/funkwhale_api/musicbrainz/tests/test_api.py +++ b/api/funkwhale_api/musicbrainz/tests/test_api.py @@ -13,7 +13,7 @@ class TestAPI(TestCase): return_value=api_data.recordings['search']['brontide matador']) def test_can_search_recording_in_musicbrainz_api(self, *mocks): query = 'brontide matador' - url = reverse('api:providers:musicbrainz:search-recordings') + url = reverse('api:v1:providers:musicbrainz:search-recordings') expected = api_data.recordings['search']['brontide matador'] response = self.client.get(url, data={'query': query}) @@ -24,7 +24,7 @@ class TestAPI(TestCase): return_value=api_data.releases['search']['brontide matador']) def test_can_search_release_in_musicbrainz_api(self, *mocks): query = 'brontide matador' - url = reverse('api:providers:musicbrainz:search-releases') + url = reverse('api:v1:providers:musicbrainz:search-releases') expected = api_data.releases['search']['brontide matador'] response = self.client.get(url, data={'query': query}) @@ -35,7 +35,7 @@ class TestAPI(TestCase): return_value=api_data.artists['search']['lost fingers']) def test_can_search_artists_in_musicbrainz_api(self, *mocks): query = 'lost fingers' - url = reverse('api:providers:musicbrainz:search-artists') + url = reverse('api:v1:providers:musicbrainz:search-artists') expected = api_data.artists['search']['lost fingers'] response = self.client.get(url, data={'query': query}) @@ -46,7 +46,7 @@ class TestAPI(TestCase): return_value=api_data.artists['get']['lost fingers']) def test_can_get_artist_in_musicbrainz_api(self, *mocks): uuid = 'ac16bbc0-aded-4477-a3c3-1d81693d58c9' - url = reverse('api:providers:musicbrainz:artist-detail', kwargs={ + url = reverse('api:v1:providers:musicbrainz:artist-detail', kwargs={ 'uuid': uuid, }) response = self.client.get(url) @@ -60,7 +60,7 @@ class TestAPI(TestCase): def test_can_broswe_release_group_using_musicbrainz_api(self, *mocks): uuid = 'ac16bbc0-aded-4477-a3c3-1d81693d58c9' url = reverse( - 'api:providers:musicbrainz:release-group-browse', + 'api:v1:providers:musicbrainz:release-group-browse', kwargs={ 'artist_uuid': uuid, } @@ -76,7 +76,7 @@ class TestAPI(TestCase): def test_can_broswe_releases_using_musicbrainz_api(self, *mocks): uuid = 'f04ed607-11b7-3843-957e-503ecdd485d1' url = reverse( - 'api:providers:musicbrainz:release-browse', + 'api:v1:providers:musicbrainz:release-browse', kwargs={ 'release_group_uuid': uuid, } diff --git a/api/funkwhale_api/playlists/tests/test_playlists.py b/api/funkwhale_api/playlists/tests/test_playlists.py index 056ca06e6..49025cd11 100644 --- a/api/funkwhale_api/playlists/tests/test_playlists.py +++ b/api/funkwhale_api/playlists/tests/test_playlists.py @@ -38,7 +38,7 @@ class TestPlayLists(TestCase): def test_can_create_playlist_via_api(self): self.client.login(username=self.user.username, password='test') - url = reverse('api:playlists-list') + url = reverse('api:v1:playlists-list') data = { 'name': 'test', } @@ -54,7 +54,7 @@ class TestPlayLists(TestCase): self.client.login(username=self.user.username, password='test') - url = reverse('api:playlist-tracks-list') + url = reverse('api:v1:playlist-tracks-list') data = { 'playlist': playlist.pk, 'track': tracks[0].pk diff --git a/api/funkwhale_api/providers/youtube/tests/test_youtube.py b/api/funkwhale_api/providers/youtube/tests/test_youtube.py index 56b87a354..ca0a95628 100644 --- a/api/funkwhale_api/providers/youtube/tests/test_youtube.py +++ b/api/funkwhale_api/providers/youtube/tests/test_youtube.py @@ -26,7 +26,7 @@ class TestAPI(TestCase): def test_can_get_search_results_from_funkwhale(self, *mocks): query = '8 bit adventure' expected = json.dumps(client.search(query)) - url = self.reverse('api:providers:youtube:search') + url = self.reverse('api:v1:providers:youtube:search') response = self.client.get(url + '?query={0}'.format(query)) self.assertJSONEqual(expected, json.loads(response.content.decode('utf-8'))) @@ -67,7 +67,7 @@ class TestAPI(TestCase): } expected = json.dumps(client.search_multiple(queries)) - url = self.reverse('api:providers:youtube:searchs') + url = self.reverse('api:v1:providers:youtube:searchs') response = self.client.post( url, json.dumps(queries), content_type='application/json') diff --git a/api/funkwhale_api/radios/tests/test_radios.py b/api/funkwhale_api/radios/tests/test_radios.py index 7d069be9c..5729b4412 100644 --- a/api/funkwhale_api/radios/tests/test_radios.py +++ b/api/funkwhale_api/radios/tests/test_radios.py @@ -94,7 +94,7 @@ class TestRadios(TestCase): self.assertEqual(radio.session, restarted_radio.session) def test_can_get_start_radio_from_api(self): - url = reverse('api:radios:sessions-list') + url = reverse('api:v1:radios:sessions-list') response = self.client.post(url, {'radio_type': 'random'}) session = models.RadioSession.objects.latest('id') self.assertEqual(session.radio_type, 'random') @@ -107,7 +107,7 @@ class TestRadios(TestCase): self.assertEqual(session.user, self.user) def test_can_start_radio_for_anonymous_user(self): - url = reverse('api:radios:sessions-list') + url = reverse('api:v1:radios:sessions-list') response = self.client.post(url, {'radio_type': 'random'}) session = models.RadioSession.objects.latest('id') @@ -118,11 +118,11 @@ class TestRadios(TestCase): tracks = mommy.make('music.Track', _quantity=1) self.client.login(username=self.user.username, password='test') - url = reverse('api:radios:sessions-list') + url = reverse('api:v1:radios:sessions-list') response = self.client.post(url, {'radio_type': 'random'}) session = models.RadioSession.objects.latest('id') - url = reverse('api:radios:tracks-list') + url = reverse('api:v1:radios:tracks-list') response = self.client.post(url, {'session': session.pk}) data = json.loads(response.content.decode('utf-8')) @@ -173,7 +173,7 @@ class TestRadios(TestCase): def test_can_start_artist_radio_from_api(self): artist = mommy.make('music.Artist') - url = reverse('api:radios:sessions-list') + url = reverse('api:v1:radios:sessions-list') response = self.client.post(url, {'radio_type': 'artist', 'related_object_id': artist.id}) session = models.RadioSession.objects.latest('id') diff --git a/api/funkwhale_api/users/tests/test_views.py b/api/funkwhale_api/users/tests/test_views.py index 5f8233bc6..6250a7ca7 100644 --- a/api/funkwhale_api/users/tests/test_views.py +++ b/api/funkwhale_api/users/tests/test_views.py @@ -42,7 +42,7 @@ class UserTestCase(TestCase): self.assertEqual(response.status_code, 403) def test_can_fetch_data_from_api(self): - url = self.reverse('api:users:users-me') + url = self.reverse('api:v1:users:users-me') response = self.client.get(url) # login required self.assertEqual(response.status_code, 401) diff --git a/front/src/config.js b/front/src/config.js index 03e7a1821..5bc5c160e 100644 --- a/front/src/config.js +++ b/front/src/config.js @@ -4,7 +4,7 @@ class Config { if (!this.BACKEND_URL.endsWith('/')) { this.BACKEND_URL += '/' } - this.API_URL = this.BACKEND_URL + 'api/' + this.API_URL = this.BACKEND_URL + 'api/v1/' } } From 6e7d0ae2433ba103057eba58c0c5f047686ada44 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 21:56:24 +0200 Subject: [PATCH 10/12] Fixed #21: can now import MP3 files via command line, also improved musicbrainz ID handling in import process --- api/funkwhale_api/music/metadata.py | 134 +++++++++++++++--- api/funkwhale_api/music/tests/test.mp3 | Bin 0 -> 297745 bytes .../music/tests/test_metadata.py | 63 +++++++- .../providers/audiofile/importer.py | 25 ++-- .../audiofile/tests/test_disk_import.py | 22 ++- docs/importing-music.rst | 8 +- 6 files changed, 207 insertions(+), 45 deletions(-) create mode 100644 api/funkwhale_api/music/tests/test.mp3 diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py index 3fe61e652..d1be9a4e1 100644 --- a/api/funkwhale_api/music/metadata.py +++ b/api/funkwhale_api/music/metadata.py @@ -1,34 +1,130 @@ import mutagen +import arrow NODEFAULT = object() -class Metadata(object): - ALIASES = { - 'release': 'musicbrainz_albumid', - 'artist': 'musicbrainz_artistid', - 'recording': 'musicbrainz_trackid', + +class TagNotFound(KeyError): + pass + + +def get_id3_tag(f, k): + # First we try to grab the standard key + try: + return f.tags[k].text[0] + except KeyError: + pass + # then we fallback on parsing non standard tags + all_tags = f.tags.getall('TXXX') + try: + matches = [ + t + for t in all_tags + if t.desc.lower() == k.lower() + ] + return matches[0].text[0] + except (KeyError, IndexError): + raise TagNotFound(k) + + +def get_mp3_recording_id(f, k): + try: + return [ + t + for t in f.tags.getall('UFID') + if 'musicbrainz.org' in t.owner + ][0].data.decode('utf-8') + except IndexError: + raise TagNotFound(k) + +CONF = { + 'OggVorbis': { + 'getter': lambda f, k: f[k][0], + 'fields': { + 'track_number': { + 'field': 'TRACKNUMBER', + 'to_application': int + }, + 'title': { + 'field': 'title' + }, + 'artist': { + 'field': 'artist' + }, + 'album': { + 'field': 'album' + }, + 'date': { + 'field': 'date', + 'to_application': lambda v: arrow.get(v).date() + }, + 'musicbrainz_albumid': { + 'field': 'musicbrainz_albumid' + }, + 'musicbrainz_artistid': { + 'field': 'musicbrainz_artistid' + }, + 'musicbrainz_recordingid': { + 'field': 'musicbrainz_trackid' + }, + } + }, + 'MP3': { + 'getter': get_id3_tag, + 'fields': { + 'track_number': { + 'field': 'TPOS', + 'to_application': lambda v: int(v.split('/')[0]) + }, + 'title': { + 'field': 'TIT2' + }, + 'artist': { + 'field': 'TPE1' + }, + 'album': { + 'field': 'TALB' + }, + 'date': { + 'field': 'TDRC', + 'to_application': lambda v: arrow.get(str(v)).date() + }, + 'musicbrainz_albumid': { + 'field': 'MusicBrainz Album Id' + }, + 'musicbrainz_artistid': { + 'field': 'MusicBrainz Artist Id' + }, + 'musicbrainz_recordingid': { + 'field': 'UFID', + 'getter': get_mp3_recording_id, + }, + } } +} + + +class Metadata(object): def __init__(self, path): self._file = mutagen.File(path) + self._conf = CONF[self.get_file_type(self._file)] - def get(self, key, default=NODEFAULT, single=True): + def get_file_type(self, f): + return f.__class__.__name__ + + def get(self, key, default=NODEFAULT): + field_conf = self._conf['fields'][key] + real_key = field_conf['field'] try: - v = self._file[key] + getter = field_conf.get('getter', self._conf['getter']) + v = getter(self._file, real_key) except KeyError: if default == NODEFAULT: - raise + raise TagNotFound(real_key) return default - # Some tags are returned as lists of string - if single: - return v[0] + converter = field_conf.get('to_application') + if converter: + v = converter(v) return v - - def __getattr__(self, key): - try: - alias = self.ALIASES[key] - except KeyError: - raise ValueError('Invalid alias {}'.format(key)) - - return self.get(alias, single=True) diff --git a/api/funkwhale_api/music/tests/test.mp3 b/api/funkwhale_api/music/tests/test.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..35a6e5fcef6fb272010c19534995393f840eafa7 GIT binary patch literal 297745 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

4VAN@%PHJ1*a9B`s~_tf>U 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 literal 0 HcmV?d00001 diff --git a/api/funkwhale_api/music/tests/test_metadata.py b/api/funkwhale_api/music/tests/test_metadata.py index 7832baedb..9b8c76653 100644 --- a/api/funkwhale_api/music/tests/test_metadata.py +++ b/api/funkwhale_api/music/tests/test_metadata.py @@ -1,5 +1,6 @@ import unittest import os +import datetime from test_plus.test import TestCase from funkwhale_api.music import metadata @@ -8,20 +9,72 @@ DATA_DIR = os.path.dirname(os.path.abspath(__file__)) class TestMetadata(TestCase): - def test_can_get_metadata_from_file(self, *mocks): + def test_can_get_metadata_from_ogg_file(self, *mocks): path = os.path.join(DATA_DIR, 'test.ogg') data = metadata.Metadata(path) + self.assertEqual( + data.get('title'), + 'Peer Gynt Suite no. 1, op. 46: I. Morning' + ) + self.assertEqual( + data.get('artist'), + 'Edvard Grieg' + ) + self.assertEqual( + data.get('album'), + 'Peer Gynt Suite no. 1, op. 46' + ) + self.assertEqual( + data.get('date'), + datetime.date(2012, 8, 15), + ) + self.assertEqual( + data.get('track_number'), + 1 + ) + self.assertEqual( data.get('musicbrainz_albumid'), 'a766da8b-8336-47aa-a3ee-371cc41ccc75') self.assertEqual( - data.get('musicbrainz_trackid'), + data.get('musicbrainz_recordingid'), 'bd21ac48-46d8-4e78-925f-d9cc2a294656') self.assertEqual( data.get('musicbrainz_artistid'), '013c8e5b-d72a-4cd3-8dee-6c64d6125823') - self.assertEqual(data.release, data.get('musicbrainz_albumid')) - self.assertEqual(data.artist, data.get('musicbrainz_artistid')) - self.assertEqual(data.recording, data.get('musicbrainz_trackid')) + def test_can_get_metadata_from_id3_mp3_file(self, *mocks): + path = os.path.join(DATA_DIR, 'test.mp3') + data = metadata.Metadata(path) + + self.assertEqual( + data.get('title'), + 'Bend' + ) + self.assertEqual( + data.get('artist'), + 'Binärpilot' + ) + self.assertEqual( + data.get('album'), + 'You Can\'t Stop Da Funk' + ) + self.assertEqual( + data.get('date'), + datetime.date(2006, 2, 7), + ) + self.assertEqual( + data.get('track_number'), + 1 + ) + + self.assertEqual( + data.get('musicbrainz_albumid'), + 'ce40cdb1-a562-4fd8-a269-9269f98d4124') + self.assertEqual( + data.get('musicbrainz_recordingid'), + 'f269d497-1cc0-4ae4-a0c4-157ec7d73fcb') + self.assertEqual( + data.get('musicbrainz_artistid'), + '9c6bddde-6228-4d9f-ad0d-03f6fcb19e13') diff --git a/api/funkwhale_api/providers/audiofile/importer.py b/api/funkwhale_api/providers/audiofile/importer.py index d95c120e1..9e1b0fb3f 100644 --- a/api/funkwhale_api/providers/audiofile/importer.py +++ b/api/funkwhale_api/providers/audiofile/importer.py @@ -9,41 +9,34 @@ from funkwhale_api.music import models, metadata @celery.app.task(name='audiofile.from_path') def from_path(path): data = metadata.Metadata(path) - artist = models.Artist.objects.get_or_create( name__iexact=data.get('artist'), - defaults={'name': data.get('artist')}, + defaults={ + 'name': data.get('artist'), + 'mbid': data.get('musicbrainz_artistid', None), + + }, )[0] - release_date = None - try: - year, month, day = data.get('date', None).split('-') - release_date = datetime.date( - int(year), int(month), int(day) - ) - except (ValueError, TypeError): - pass - + release_date = data.get('date', default=None) album = models.Album.objects.get_or_create( title__iexact=data.get('album'), artist=artist, defaults={ 'title': data.get('album'), 'release_date': release_date, + 'mbid': data.get('musicbrainz_albumid', None), }, )[0] - position = None - try: - position = int(data.get('tracknumber', None)) - except ValueError: - pass + position = data.get('track_number', default=None) track = models.Track.objects.get_or_create( title__iexact=data.get('title'), album=album, defaults={ 'title': data.get('title'), 'position': position, + 'mbid': data.get('musicbrainz_recordingid', None), }, )[0] diff --git a/api/funkwhale_api/providers/audiofile/tests/test_disk_import.py b/api/funkwhale_api/providers/audiofile/tests/test_disk_import.py index 26532a8c9..4a91a36eb 100644 --- a/api/funkwhale_api/providers/audiofile/tests/test_disk_import.py +++ b/api/funkwhale_api/providers/audiofile/tests/test_disk_import.py @@ -14,21 +14,37 @@ class TestAudioFile(TestCase): 'artist': ['Test artist'], 'album': ['Test album'], 'title': ['Test track'], - 'tracknumber': ['4'], - 'date': ['2012-08-15'] + 'TRACKNUMBER': ['4'], + 'date': ['2012-08-15'], + 'musicbrainz_albumid': ['a766da8b-8336-47aa-a3ee-371cc41ccc75'], + 'musicbrainz_trackid': ['bd21ac48-46d8-4e78-925f-d9cc2a294656'], + 'musicbrainz_artistid': ['013c8e5b-d72a-4cd3-8dee-6c64d6125823'], } - with unittest.mock.patch('mutagen.File', return_value=metadata): + m1 = unittest.mock.patch('mutagen.File', return_value=metadata) + m2 = unittest.mock.patch( + 'funkwhale_api.music.metadata.Metadata.get_file_type', + return_value='OggVorbis', + ) + with m1, m2: track_file = importer.from_path( os.path.join(DATA_DIR, 'dummy_file.ogg')) self.assertEqual( track_file.track.title, metadata['title'][0]) + self.assertEqual( + track_file.track.mbid, metadata['musicbrainz_trackid'][0]) self.assertEqual( track_file.track.position, 4) self.assertEqual( track_file.track.album.title, metadata['album'][0]) + self.assertEqual( + track_file.track.album.mbid, + metadata['musicbrainz_albumid'][0]) self.assertEqual( track_file.track.album.release_date, datetime.date(2012, 8, 15)) self.assertEqual( track_file.track.artist.name, metadata['artist'][0]) + self.assertEqual( + track_file.track.artist.mbid, + metadata['musicbrainz_artistid'][0]) diff --git a/docs/importing-music.rst b/docs/importing-music.rst index 29f33ffc7..5fdff7e93 100644 --- a/docs/importing-music.rst +++ b/docs/importing-music.rst @@ -14,14 +14,18 @@ least an ``artist``, ``album`` and ``title`` tag, you can import those tracks as docker-compose run --rm api python manage.py import_files "/music/**/*.ogg" --recursive --noinput +For the best results, we recommand tagging your music collection through +`Picard `_ in order to have the best quality metadata. + .. note:: This command is idempotent, meaning you can run it multiple times on the same files and already imported files will simply be skipped. -.. warning:: +.. note:: + + At the moment, only OGG/Vorbis and MP3 files with ID3 tags are supported - At the moment, only ogg files are supported. MP3 support will be implemented soon. Getting demo tracks ^^^^^^^^^^^^^^^^^^^ From e56e57e22c6d716b4412f6c12731c8011490e40d Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 22:04:55 +0200 Subject: [PATCH 11/12] Should now build and push latest docker image on master --- .gitlab-ci.yml | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed8f7da5d..fd73e4bc0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,10 @@ +variables: + IMAGE_NAME: funkwhale/funkwhale + IMAGE: $IMAGE_NAME:$CI_BUILD_REF + IMAGE_LATEST: $IMAGE_NAME:latest + + + stages: - test - build @@ -58,16 +65,29 @@ pages: tags: - docker -docker_image: +docker_develop: stage: deploy before_script: - docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD - cd api script: - - docker build -t funkwhale/funkwhale:$CI_COMMIT_REF_NAME . - - docker push funkwhale/funkwhale:$CI_COMMIT_REF_NAME + - docker build -t $IMAGE . + - docker push $IMAGE only: - develop + tags: + - dind + +docker_release: + stage: deploy + before_script: + - docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD + - cd api + script: + - docker build -t $IMAGE -t $IMAGE_LATEST . + - docker push $IMAGE + - docker push $IMAGE_LATEST + only: - master tags: - dind From 73ee65af9b52659839f45e996fd869bb9dbab88a Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 26 Jun 2017 22:10:00 +0200 Subject: [PATCH 12/12] Changelog --- docs/changelog.rst | 10 ++++++++++ docs/index.rst | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 docs/changelog.rst diff --git a/docs/changelog.rst b/docs/changelog.rst new file mode 100644 index 000000000..c4092dc8b --- /dev/null +++ b/docs/changelog.rst @@ -0,0 +1,10 @@ +Changelog +========= + + +0.1 +------- + +2017-06-26 + +Initial release diff --git a/docs/index.rst b/docs/index.rst index b4c4119bf..ca6504b52 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,7 +14,7 @@ Funkwhale is a self-hosted, modern free and open-source music server, heavily in features installation/index importing-music - + changelog Indices and tables ==================

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