Skip to content
Snippets Groups Projects
tasks.py 757 B
Newer Older
  • Learn to ignore specific revisions
  • 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())