mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-04-13 09:42:01 +00:00
Refactoring folder creation. This could be done a lot more abstractly as to make sense to new functions I build which include folder subscription creating. Let this be a reminder as to how shoddy code is born. And let this be quickly remedied.
This commit is contained in:
parent
1c3ba0cdbe
commit
a31717b7ca
3 changed files with 20 additions and 20 deletions
|
@ -11,6 +11,7 @@ from apps.analyzer.models import MClassifierFeed, MClassifierAuthor, MClassifier
|
|||
from apps.analyzer.models import apply_classifier_titles, apply_classifier_feeds, apply_classifier_authors, apply_classifier_tags
|
||||
from utils import urlnorm
|
||||
from utils.feed_functions import fetch_address_from_page
|
||||
from utils.feed_functions import add_object_to_folder
|
||||
|
||||
class UserSubscription(models.Model):
|
||||
"""
|
||||
|
@ -105,7 +106,7 @@ class UserSubscription(models.Model):
|
|||
user_sub_folders = []
|
||||
else:
|
||||
user_sub_folders = json.decode(user_sub_folders_object.folders)
|
||||
user_sub_folders = _add_object_to_folder(feed.pk, folder, user_sub_folders)
|
||||
user_sub_folders = add_object_to_folder(feed.pk, folder, user_sub_folders)
|
||||
user_sub_folders_object.folders = json.encode(user_sub_folders)
|
||||
user_sub_folders_object.save()
|
||||
|
||||
|
@ -401,17 +402,3 @@ class Feature(models.Model):
|
|||
|
||||
class Meta:
|
||||
ordering = ["-date"]
|
||||
|
||||
|
||||
def _add_object_to_folder(obj, folder, folders):
|
||||
if not folder:
|
||||
folders.append(obj)
|
||||
return folders
|
||||
|
||||
for k, v in enumerate(folders):
|
||||
if isinstance(v, dict):
|
||||
for f_k, f_v in v.items():
|
||||
if f_k == folder:
|
||||
f_v.append(obj)
|
||||
folders[k][f_k] = _add_object_to_folder(obj, folder, f_v)
|
||||
return folders
|
|
@ -14,7 +14,6 @@ from django.contrib.auth.models import User
|
|||
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
|
||||
from django.conf import settings
|
||||
from django.core.mail import mail_admins
|
||||
from django.contrib.sites.models import Site
|
||||
from collections import defaultdict
|
||||
from operator import itemgetter
|
||||
from mongoengine.queryset import OperationError
|
||||
|
@ -27,9 +26,10 @@ try:
|
|||
from apps.rss_feeds.models import Feed, MFeedPage, DuplicateFeed, MStory, MStarredStory, FeedLoadtime
|
||||
except:
|
||||
pass
|
||||
from utils import json_functions as json, urlnorm
|
||||
from utils import json_functions as json
|
||||
from utils.user_functions import get_user, ajax_login_required
|
||||
from utils.feed_functions import fetch_address_from_page, relative_timesince
|
||||
from utils.feed_functions import relative_timesince
|
||||
from utils.feed_functions import add_object_to_folder
|
||||
from utils.story_functions import format_story_link_date__short
|
||||
from utils.story_functions import format_story_link_date__long
|
||||
from utils.story_functions import bunch
|
||||
|
@ -687,7 +687,7 @@ def add_folder(request):
|
|||
else:
|
||||
user_sub_folders = []
|
||||
obj = {folder: []}
|
||||
user_sub_folders = _add_object_to_folder(obj, parent_folder, user_sub_folders)
|
||||
user_sub_folders = add_object_to_folder(obj, parent_folder, user_sub_folders)
|
||||
user_sub_folders_object.folders = json.encode(user_sub_folders)
|
||||
user_sub_folders_object.save()
|
||||
else:
|
||||
|
|
|
@ -168,4 +168,17 @@ def format_relative_date(date, future=False):
|
|||
'' if future else 'ago')
|
||||
else:
|
||||
return "%s hours %s" % ((((diff.seconds / 60) + 15) / 60),
|
||||
'' if future else 'ago')
|
||||
'' if future else 'ago')
|
||||
|
||||
def add_object_to_folder(obj, folder, folders):
|
||||
if not folder:
|
||||
folders.append(obj)
|
||||
return folders
|
||||
|
||||
for k, v in enumerate(folders):
|
||||
if isinstance(v, dict):
|
||||
for f_k, f_v in v.items():
|
||||
if f_k == folder:
|
||||
f_v.append(obj)
|
||||
folders[k][f_k] = _add_object_to_folder(obj, folder, f_v)
|
||||
return folders
|
Loading…
Add table
Reference in a new issue