from django.shortcuts import * import json from django.contrib.auth.decorators import login_required from django.views.decorators.csrf import csrf_exempt from SocialNetworkHarvester_v1p0.settings import FACEBOOK_APP_PARAMS from AspiraUser.models import resetUserSelection from Facebook.models import FBPage, FBUser, FBProfile, FBComment, FBPost from SocialNetworkHarvester_v1p0.settings import viewsLogger, DEBUG log = lambda s: viewsLogger.log(s) if DEBUG else 0 pretty = lambda s: viewsLogger.pretty(s) if DEBUG else 0 @login_required() def facebookBase(request): context = { 'user': request.user, "navigator": [ ("Facebook", "/facebook"), ], } resetUserSelection(request) return render(request, 'Facebook/FacebookBase.html', context) @login_required() def fbUserView(request, FBUserId): fbUser = FBUser.objects.filter(pk=FBUserId) if not fbUser: fbUser = FBUser.objects.filter(_ident=FBUserId)
from django import template from collections import OrderedDict register = template.Library() from Twitter.models import TWUser,Hashtag,Tweet,TWPlace, favorite_tweet, follower, HashtagHarvester from Youtube.models import YTChannel, YTVideo, YTPlaylist, YTPlaylistItem, YTComment from SocialNetworkHarvester_v1p0.settings import viewsLogger, DEBUG log = lambda s: viewsLogger.log(s) if DEBUG else 0 pretty = lambda s: viewsLogger.pretty(s) if DEBUG else 0 @register.filter def sort(value): return sorted(value) @register.filter def getFields(className): '''Get the name and description of each relevant (downloadable) field of a given Aspira object. Use inside a template with: {% for key,val in 'className'|getFields %} ... {% endfor %} In order to work, the method "get_fields_description" should be implemented in the model :param className: The Class name of a given model. (example: "TWUser", "TWeet". "Hashtag", etc.) :return: a list of tuples, containing a string (field) and a dict {"name":"aName","description":"aDescription"}. ''' fields = globals()[className]().get_fields_description() keys = fields.keys() orderedFields = [] for key in sorted(keys): orderedFields.append((key,fields[key])) return orderedFields