2021-01-04 13:33:56 -05:00
|
|
|
from newsblur_web.celeryapp import app
|
2012-07-20 19:43:28 -07:00
|
|
|
from django.contrib.auth.models import User
|
2020-06-15 17:53:35 -04:00
|
|
|
from apps.feed_import.models import UploadedOPML, OPMLImporter
|
2012-07-20 19:43:28 -07:00
|
|
|
from apps.reader.models import UserSubscription
|
|
|
|
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...")
|
2012-07-20 19:43:28 -07:00
|
|
|
|
2020-11-13 12:14:37 -05:00
|
|
|
opml = UploadedOPML.objects.filter(user_id=user_id).first()
|
2021-04-29 18:25:45 -04:00
|
|
|
opml_importer = OPMLImporter(opml.opml_file.encode('utf-8'), user)
|
2020-11-13 12:14:37 -05:00
|
|
|
opml_importer.process()
|
|
|
|
|
|
|
|
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))
|
2012-07-20 19:43:28 -07:00
|
|
|
|
2021-03-08 19:47:24 -05:00
|
|
|
UserSubscription.queue_new_feeds(user)
|
|
|
|
UserSubscription.refresh_stale_feeds(user, exclude_new=True)
|