Пример #1
0
def ajax_lists_get_playlist_do(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    lang = getDefaultJSON(data, 'lang', 'CHS')
    playlist = getPlaylist(data.pid, lang)
    if playlist["item"]["private"] and str(
            playlist["meta"]["created_by"]) != str(
                user['_id']) and user['access_control']['status'] != 'admin':
        abort(404)
    playlist_editable = False
    playlist_owner = False
    if user:
        videos, video_count, playlist_editable, playlist_owner = listPlaylistVideosWithAuthorizationInfo(
            data.pid, offset, limit, user)
    else:
        videos, video_count = listPlaylistVideos(data.pid, offset, limit, user)
    tags = playlist_db.retrive_item_with_tag_category_map(
        playlist['_id'], lang)
    return "json", makeResponseSuccess({
        "editable":
        playlist_editable,
        "owner":
        playlist_owner,
        "playlist":
        playlist,
        "tags":
        tags,
        "videos": [item for item in videos],
        "count":
        video_count,
        "page_count": (video_count - 1) // limit + 1
    })
Пример #2
0
def ajax_subs_list_do(rd, data, user):
	order = getDefaultJSON(data, 'order', 'video_latest')
	hide_placeholder = getDefaultJSON(data, 'hide_placeholder', True)
	lang = getDefaultJSON(data, 'lang', 'CHS')
	visible = getDefaultJSON(data, 'visible', [''])
	additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
	if order not in ['latest', 'oldest', 'video_latest', 'video_oldest', 'last_modified'] :
		raise AttributeError()
	offset, limit = getOffsetLimitJSON(data)
	videos, sub_objs, tags, tagids, count = listSubscriptedItems(
		user,
		offset,
		limit,
		lang,
		hide_placeholder,
		order,
		visible,
		additional_constraint
		)
	return "json", makeResponseSuccess({
		'videos': videos,
		'objs': sub_objs,
		'related_tags': tags,
		'related_tagids': tagids,
		'total': count
		})
Пример #3
0
def ajax_listvideo_do(rd, data, user):
    start = time.time()
    order = getDefaultJSON(data, 'order', 'latest')
    additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
    hide_placeholder = getDefaultJSON(data, 'hide_placeholder', True)
    lang = getDefaultJSON(data, 'lang', 'CHS')
    human_readable_tag = getDefaultJSON(data, 'human_readable_tag', False)
    offset, limit = getOffsetLimitJSON(data)
    videos, video_count, related_tags, related_tags_popularity, query_obj, pop_tagid_map, exStats1, exStats2 = listVideo(
        offset,
        limit,
        user,
        order,
        hide_placeholder=hide_placeholder,
        user_language=lang,
        additional_constraint=additional_constraint,
        human_readable_tag=human_readable_tag)
    tag_category_map = getTagCategoryMap(related_tags)
    end = time.time()
    ret = makeResponseSuccess({
        "videos": videos,
        "count": video_count,
        "page_count": (video_count - 1) // limit + 1,
        "tags": tag_category_map,
        "tagid_popmap": pop_tagid_map,
        "tag_pops": related_tags_popularity,
        'time_used_ms': int((end - start) * 1000),
        "query_obj": query_obj  #,
        # "ex_stats_1": exStats1,
        # "ex_stats_2": exStats2
    })
    return "json", ret
Пример #4
0
def ajax_forums_view_forum(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    threads_pinned, threads = listForumThreads(ObjectId(data.forum_id), offset,
                                               limit)
    return "json", makeResponseSuccess({
        'threads': threads,
        'threads_pinned': threads_pinned
    })
Пример #5
0
def ajax_user_list_users(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    query = getDefaultJSON(data, 'query', '')
    order = getDefaultJSON(data, 'order', 'latest')
    users, count = listUsers(user, offset, limit, query, order)
    ret = makeResponseSuccess({
        "users": users,
        "count": count,
        "page_count": (count - 1) // limit + 1
    })
    return "json", ret
Пример #6
0
def ajax_query_tags_regex(rd, user, data):
    order = getDefaultJSON(data, 'order', 'latest')
    category = getDefaultJSON(data, 'category', '')
    offset, limit = getOffsetLimitJSON(data)
    tags, tag_count = queryTagsRegex(data.query, category, offset, limit,
                                     order, user)
    ret = makeResponseSuccess({
        "tags": tags,
        "count": tag_count,
        "page_count": (tag_count - 1) // limit + 1
    })
    return "json", ret
Пример #7
0
def ajax_lists_all_do(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    order = getDefaultJSON(data, 'order', 'last_modified')
    playlists, playlists_count = listPlaylists(user, offset, limit, '', order,
                                               'text', '')
    return "json", makeResponseSuccess({
        "playlists":
        playlists,
        "count":
        playlists_count,
        "page_count": (playlists_count - 1) // limit + 1
    })
Пример #8
0
def ajax_query_tags(rd, user, data):
    order = getDefaultJSON(data, 'order', 'latest')
    if order not in ['latest', 'oldest', 'count', 'count_inv']:
        raise AttributeError()
    offset, limit = getOffsetLimitJSON(data)
    tags = queryTags(data.category, offset, limit, order, user)
    tag_count = tags.count()
    ret = makeResponseSuccess({
        "tags": [i for i in tags],
        "count": tag_count,
        "page_count": (tag_count - 1) // limit + 1
    })
    return "json", ret
Пример #9
0
def ajax_lists_myplaylists_vid(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    order = getDefaultJSON(data, 'order', 'last_modified')
    query = getDefaultJSON(data, 'query', '')
    additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
    playlists, playlists_count = listMyPlaylistsAgainstSingleVideo(
        user, data.vid, offset, limit, query, additional_constraint, order)
    return "json", makeResponseSuccess({
        "playlists":
        playlists,
        "count":
        playlists_count,
        "page_count": (playlists_count - 1) // limit + 1
    })
Пример #10
0
def ajax_admin_viewlogs_do(rd, data, user):
    filterOperation('viewlogs', user)
    order = getDefaultJSON(data, 'order', 'latest')
    date_from = getDefaultJSON(data, 'date_from', '')
    date_to = getDefaultJSON(data, 'date_to', '')
    offset, limit = getOffsetLimitJSON(data)
    levels = getDefaultJSON(data, 'levels', ['SEC', 'MSG', 'WARN', 'ERR'])
    op = getDefaultJSON(data, 'op', '')
    if date_from:
        date_from = parse(date_from).astimezone(timezone.utc)
    if date_to:
        date_to = parse(date_to).astimezone(timezone.utc)
    ret = viewLogs(offset, limit, date_from, date_to, order, op, levels)
    return "json", makeResponseSuccess(ret)
Пример #11
0
def ajax_query_tags_wildcard(rd, user, data):
    order = getDefaultJSON(data, 'order', 'latest')
    if order not in ['latest', 'oldest', 'count', 'count_inv']:
        raise AttributeError()
    category = getDefaultJSON(data, 'category', '')
    offset, limit = getOffsetLimitJSON(data)
    tags, tag_count = queryTagsWildcard(data.query, category, offset, limit,
                                        order, user)
    ret = makeResponseSuccess({
        "tags": tags,
        "count": tag_count,
        "page_count": (tag_count - 1) // limit + 1
    })
    return "json", ret
Пример #12
0
def ajax_listmyvideo_do(rd, data, user):
    order = getDefaultJSON(data, 'order', 'latest')
    lang = getDefaultJSON(data, 'lang', 'CHS')
    offset, limit = getOffsetLimitJSON(data)
    videos, video_count = listMyVideo(offset,
                                      limit,
                                      user,
                                      order,
                                      user_language=lang)
    ret = makeResponseSuccess({
        "videos": videos,
        "count": video_count,
        "tags": getCommonTagsWithCount(lang, videos),
        "page_count": (video_count - 1) // limit + 1,
    })
    return "json", ret
Пример #13
0
def ajax_lists_search_do(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    order = getDefaultJSON(data, 'order', 'last_modified')
    query = getDefaultJSON(data, 'query', '')
    additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
    assert isinstance(query, str)
    playlists, playlists_count = listPlaylists(user, offset, limit, query,
                                               order, 'text',
                                               additional_constraint)
    return "json", makeResponseSuccess({
        "playlists":
        playlists,
        "count":
        playlists_count,
        "page_count": (playlists_count - 1) // limit + 1
    })
Пример #14
0
def ajax_subs_list_randomized_do(rd, data, user):
	lang = getDefaultJSON(data, 'lang', 'CHS')
	visible = getDefaultJSON(data, 'visible', [''])
	offset, limit = getOffsetLimitJSON(data)
	additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
	videos, sub_objs, tags, tagids = listSubscriptedItemsRandomized(
		user,
		limit,
		lang,
		visible,
		additional_constraint
		)
	return "json", makeResponseSuccess({
		'videos': videos,
		'objs': sub_objs,
		'related_tags': tags,
		'related_tagids': tagids
		})
Пример #15
0
def ajax_listvideo_randomized_do(rd, data, user):
    query = getDefaultJSON(data, 'query', '')
    if len(query) > QueryConfig.MAX_QUERY_LENGTH:
        raise UserError('QUERY_TOO_LONG')
    additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
    human_readable_tag = getDefaultJSON(data, 'human_readable_tag', False)
    qtype = getDefaultJSON(data, 'qtype', 'tag')
    lang = getDefaultJSON(data, 'lang', 'CHS')
    _, limit = getOffsetLimitJSON(data)
    videos, related_tags, related_tagids = listVideoRandimzied(
        user, limit, query, lang, qtype, additional_constraint,
        human_readable_tag)
    tag_category_map = getTagCategoryMap(related_tags)
    ret = makeResponseSuccess({
        "videos": videos,
        "tags": tag_category_map,
        "related_tagids": related_tagids
    })
    return "json", ret
Пример #16
0
def ajax_queryvideo_do(rd, data, user):
    start = time.time()
    if len(data.query) > QueryConfig.MAX_QUERY_LENGTH:
        raise UserError('QUERY_TOO_LONG')
    additional_constraint = getDefaultJSON(data, 'additional_constraint', '')
    order = getDefaultJSON(data, 'order', 'latest')
    qtype = getDefaultJSON(data, 'qtype', 'tag')
    lang = getDefaultJSON(data, 'lang', 'CHS')
    human_readable_tag = getDefaultJSON(data, 'human_readable_tag', False)
    hide_placeholder = getDefaultJSON(data, 'hide_placeholder', True)
    offset, limit = getOffsetLimitJSON(data)
    videos, related_tags, related_tagids, video_count, query_obj, exStats1, exStats2 = listVideoQuery(
        user,
        data.query,
        offset,
        limit,
        order,
        hide_placeholder=hide_placeholder,
        qtype=qtype,
        user_language=lang,
        additional_constraint=additional_constraint,
        human_readable_tag=human_readable_tag)
    tag_category_map = getTagCategoryMap(related_tags)
    end = time.time()
    ret = makeResponseSuccess({
        "videos": videos,
        "count": video_count,
        "page_count": (video_count - 1) // limit + 1,
        "tags": tag_category_map,
        "related_tagids": related_tagids,
        'time_used_ms': int((end - start) * 1000),
        "query_obj": query_obj  #,
        # "ex_stats_1": exStats1,
        # "ex_stats_2": exStats2
    })
    return "json", ret
Пример #17
0
def ajax_video_raw_tag_log_do(rd, data, user):
    offset, limit = getOffsetLimitJSON(data)
    return "json", makeResponseSuccess(
        viewRawTagHistory(offset, limit, data.lang))
Пример #18
0
def ajax_playlist_setcover_do(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    updatePlaylistCoverVID(data.pid, data.vid, offset, limit, user)
Пример #19
0
def ajax_playlist_deletevideo_do(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    removeVideoFromPlaylist(data.pid, data.vid, offset, limit, user)
Пример #20
0
def ajax_playlist_movedown_do(rd, user, data):
    offset, limit = getOffsetLimitJSON(data)
    editPlaylist_MoveDown(data.pid, data.vid, offset, limit, user)
Пример #21
0
def ajax_subtitles_admin_list_pending_ocr_requests(rd, user, data):
    order = getDefaultJSON(data, 'order', 'oldest')
    offset, limit = getOffsetLimitJSON(data)
    result, count = listAllPendingRequest(user, order, offset, limit)
    return "json", makeResponseSuccess({'items': result, 'total': count})
Пример #22
0
def ajax_notes_list_all(rd, user, data):
	offset, limit = getOffsetLimitJSON(data)
	note_type = getDefaultJSON(data, 'note_type', 'all')
	ans, count = listMyNotificationAll(user, offset, limit, note_type)
	return "json", makeResponseSuccess({'notes': ans, 'count': count})