Merge branch '564-delete-old-federated-tracks' into 'develop'
Fix #564: Added a script to prune pre 0.17 federated tracks Closes #564 See merge request funkwhale/funkwhale!535
This commit is contained in:
commit
53660f84f3
|
@ -2,6 +2,7 @@ from . import create_actors
|
||||||
from . import create_image_variations
|
from . import create_image_variations
|
||||||
from . import django_permissions_to_user_permissions
|
from . import django_permissions_to_user_permissions
|
||||||
from . import migrate_to_user_libraries
|
from . import migrate_to_user_libraries
|
||||||
|
from . import delete_pre_017_federated_uploads
|
||||||
from . import test
|
from . import test
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,5 +11,6 @@ __all__ = [
|
||||||
"create_image_variations",
|
"create_image_variations",
|
||||||
"django_permissions_to_user_permissions",
|
"django_permissions_to_user_permissions",
|
||||||
"migrate_to_user_libraries",
|
"migrate_to_user_libraries",
|
||||||
|
"delete_pre_017_federated_uploads",
|
||||||
"test",
|
"test",
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
"""
|
||||||
|
Compute different sizes of image used for Album covers and User avatars
|
||||||
|
"""
|
||||||
|
|
||||||
|
from funkwhale_api.music.models import Upload
|
||||||
|
|
||||||
|
|
||||||
|
def main(command, **kwargs):
|
||||||
|
queryset = Upload.objects.filter(
|
||||||
|
source__startswith="http", source__contains="/federation/music/file/"
|
||||||
|
).exclude(source__contains="youtube")
|
||||||
|
total = queryset.count()
|
||||||
|
command.stdout.write("{} uploads found".format(total))
|
||||||
|
queryset.delete()
|
|
@ -12,7 +12,12 @@ def command():
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"script_name", ["django_permissions_to_user_permissions", "test"]
|
"script_name",
|
||||||
|
[
|
||||||
|
"django_permissions_to_user_permissions",
|
||||||
|
"test",
|
||||||
|
"delete_pre_017_federated_uploads",
|
||||||
|
],
|
||||||
)
|
)
|
||||||
def test_script_command_list(command, script_name, mocker):
|
def test_script_command_list(command, script_name, mocker):
|
||||||
mocked = mocker.patch("funkwhale_api.common.scripts.{}.main".format(script_name))
|
mocked = mocker.patch("funkwhale_api.common.scripts.{}.main".format(script_name))
|
||||||
|
@ -235,3 +240,17 @@ def test_migrate_to_users_libraries_command(
|
||||||
|
|
||||||
for part in ["followers", "following"]:
|
for part in ["followers", "following"]:
|
||||||
generate_actor_urls.assert_any_call(part, command.stdout)
|
generate_actor_urls.assert_any_call(part, command.stdout)
|
||||||
|
|
||||||
|
|
||||||
|
def test_delete_pre_017_federated_uploads(factories, command):
|
||||||
|
to_delete = factories["music.Upload"](
|
||||||
|
source="https://test.com/federation/music/file/1"
|
||||||
|
)
|
||||||
|
to_keep = factories["music.Upload"](source="https://hello.world")
|
||||||
|
|
||||||
|
scripts.delete_pre_017_federated_uploads.main(command)
|
||||||
|
|
||||||
|
to_keep.refresh_from_db()
|
||||||
|
|
||||||
|
with pytest.raises(to_delete.__class__.DoesNotExist):
|
||||||
|
to_delete.refresh_from_db()
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Added a script to prune pre 0.17 federated tracks (#564)
|
|
@ -52,6 +52,25 @@ Funkwhale will successfully extract licensing data for the following licenses:
|
||||||
Support for other licenses such as Art Libre or WTFPL will be added in future releases.
|
Support for other licenses such as Art Libre or WTFPL will be added in future releases.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Delete pre 0.17 federated tracks [manual action suggested]
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
If you were using Funkwhale before the 0.17 release and federated with other instances,
|
||||||
|
it's possible that you still have some unplayable federated files in the database.
|
||||||
|
|
||||||
|
To purge the database of those entries, you can run the following command:
|
||||||
|
|
||||||
|
On docker setups::
|
||||||
|
|
||||||
|
docker-compose run --rm api python manage.py script delete_pre_017_federated_uploads --no-input
|
||||||
|
|
||||||
|
On non-docker setups::
|
||||||
|
|
||||||
|
python manage.py script delete_pre_017_federated_uploads --no-input
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Enable gzip compression [manual action suggested]
|
Enable gzip compression [manual action suggested]
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue