NewsBlur-viq/apps/feed_import/tasks.py

27 lines
969 B
Python
Raw Normal View History

from django.contrib.auth.models import User
2024-04-24 09:50:42 -04:00
from apps.feed_import.models import OPMLImporter, UploadedOPML
from apps.reader.models import UserSubscription
from apps.social.models import MActivity
2024-04-24 09:50:42 -04:00
from newsblur_web.celeryapp import app
from utils import log as logging
2020-11-13 13:26:25 -05:00
@app.task()
2020-11-13 12:14:37 -05:00
def ProcessOPML(user_id):
user = User.objects.get(pk=user_id)
logging.user(user, "~FR~SBOPML upload (task) starting...")
2020-11-13 12:14:37 -05:00
opml = UploadedOPML.objects.filter(user_id=user_id).first()
2024-04-24 09:43:56 -04:00
opml_importer = OPMLImporter(opml.opml_file.encode("utf-8"), user)
2020-11-13 12:14:37 -05:00
opml_importer.process()
2024-04-24 09:43:56 -04:00
2020-11-13 12:14:37 -05:00
feed_count = UserSubscription.objects.filter(user=user).count()
user.profile.send_upload_opml_finished_email(feed_count)
logging.user(user, "~FR~SBOPML upload (task): ~SK%s~SN~SB~FR feeds" % (feed_count))
MActivity.new_opml_import(user_id=user.pk, count=feed_count)
2024-04-24 09:43:56 -04:00
UserSubscription.queue_new_feeds(user)
UserSubscription.refresh_stale_feeds(user, exclude_new=True)