def add_site_load_script(request, token): code = 0 usf = None profile = None user_profile = None starred_counts = {} def image_base64(image_name, path='icons/circular/'): image_file = open( os.path.join(settings.MEDIA_ROOT, 'img/%s%s' % (path, image_name)), 'rb') return base64.b64encode(image_file.read()).decode('utf-8') accept_image = image_base64('newuser_icn_setup.png') error_image = image_base64('newuser_icn_sharewith_active.png') new_folder_image = image_base64('g_icn_arrow_right.png') add_image = image_base64('g_icn_expand_hover.png') try: profiles = Profile.objects.filter(secret_token=token) if profiles: profile = profiles[0] usf = UserSubscriptionFolders.objects.get(user=profile.user) user_profile = MSocialProfile.get_user(user_id=profile.user.pk) starred_counts = MStarredStoryCounts.user_counts(profile.user.pk) else: code = -1 except Profile.DoesNotExist: code = -1 except UserSubscriptionFolders.DoesNotExist: code = -1 return render( request, 'api/share_bookmarklet.js', { 'code': code, 'token': token, 'folders': (usf and usf.folders) or [], 'user': profile and profile.user or {}, 'user_profile': user_profile and json.encode(user_profile.canonical()) or {}, 'starred_counts': json.encode(starred_counts), 'accept_image': accept_image, 'error_image': error_image, 'add_image': add_image, 'new_folder_image': new_folder_image, }, content_type='application/javascript')
def api_saved_tag_list(request): user = request.user starred_counts, starred_count = MStarredStoryCounts.user_counts(user.pk, include_total=True) tags = [] for tag in starred_counts: if tag['tag'] == "": continue tags.append(dict(label="%s (%s %s)" % (tag['tag'], tag['count'], 'story' if tag['count'] == 1 else 'stories'), value=tag['tag'])) tags = sorted(tags, key=lambda t: t['value'].lower()) catchall = dict(label="All Saved Stories (%s %s)" % (starred_count, 'story' if starred_count == 1 else 'stories'), value="all") tags.insert(0, catchall) return {"data": tags}
def api_saved_tag_list(request): user = request.user starred_counts, starred_count = MStarredStoryCounts.user_counts(user.pk, include_total=True) tags = [] for tag in starred_counts: if not tag['tag'] or tag['tag'] == "": continue tags.append(dict(label="%s (%s %s)" % (tag['tag'], tag['count'], 'story' if tag['count'] == 1 else 'stories'), value=tag['tag'])) tags = sorted(tags, key=lambda t: t['value'].lower()) catchall = dict(label="All Saved Stories (%s %s)" % (starred_count, 'story' if starred_count == 1 else 'stories'), value="all") tags.insert(0, catchall) return {"data": tags}
def delete_starred_stories(request): timestamp = request.POST.get('timestamp', None) if timestamp: delete_date = datetime.datetime.fromtimestamp(int(timestamp)) else: delete_date = datetime.datetime.now() starred_stories = MStarredStory.objects.filter(user_id=request.user.pk, starred_date__lte=delete_date) stories_deleted = starred_stories.count() starred_stories.delete() MStarredStoryCounts.count_for_user(request.user.pk, total_only=True) starred_counts, starred_count = MStarredStoryCounts.user_counts(request.user.pk, include_total=True) logging.user(request.user, "~BC~FRDeleting %s/%s starred stories (%s)" % (stories_deleted, stories_deleted+starred_count, delete_date)) return dict(code=1, stories_deleted=stories_deleted, starred_counts=starred_counts, starred_count=starred_count)
def delete_starred_stories(request): timestamp = request.POST.get("timestamp", None) if timestamp: delete_date = datetime.datetime.fromtimestamp(int(timestamp)) else: delete_date = datetime.datetime.now() starred_stories = MStarredStory.objects.filter(user_id=request.user.pk, starred_date__lte=delete_date) stories_deleted = starred_stories.count() starred_stories.delete() MStarredStoryCounts.count_for_user(request.user.pk, total_only=True) starred_counts, starred_count = MStarredStoryCounts.user_counts(request.user.pk, include_total=True) logging.user( request.user, "~BC~FRDeleting %s/%s starred stories (%s)" % (stories_deleted, stories_deleted + starred_count, delete_date), ) return dict(code=1, stories_deleted=stories_deleted, starred_counts=starred_counts, starred_count=starred_count)