mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 07:29:17 +02:00
27 lines
757 B
Python
27 lines
757 B
Python
from funkwhale_api.taskapp import celery
|
|
|
|
from . import library as lb
|
|
from . import models
|
|
|
|
|
|
@celery.app.task(name='federation.scan_library')
|
|
@celery.require_instance(models.Library, 'library')
|
|
def scan_library(library):
|
|
if not library.federation_enabled:
|
|
return
|
|
|
|
data = lb.get_library_data(library.url)
|
|
scan_library_page.delay(
|
|
library_id=library.id, page_url=data['first'])
|
|
|
|
|
|
@celery.app.task(name='federation.scan_library_page')
|
|
@celery.require_instance(models.Library, 'library')
|
|
def scan_library_page(library, page_url):
|
|
if not library.federation_enabled:
|
|
return
|
|
|
|
data = lb.get_library_page(library, page_url)
|
|
lts = []
|
|
for item_serializer in data['items']:
|
|
lts.append(item_serializer.save())
|