Beispiel #1
0
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')
Beispiel #2
0
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}
Beispiel #3
0
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}
Beispiel #4
0
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)
Beispiel #5
0
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)