Exemple #1
0
def get_min_levenshtein(cj_post: Submission,
                        original_sub: Subreddit) -> (Submission, float):
    """
    This function iterates through the hot posts in the original_sub subreddit and finds the one with the smallest levenshtein
    distance to the circlejerk_sub post.
    :param cj_post: circlejerk_sub post
    :param original_sub: original_sub subreddit
    :return: tuple with the original sub's post with the smallest LD, and the distance
    """
    cj_title = standardize_title(cj_post.title)
    min_distance = 100000
    relevant_post = None
    for os_post in original_sub.hot():
        os_title = standardize_title(os_post.title)
        distance = levenshtein(cj_title.split(), os_title.split())
        if distance < min_distance:
            min_distance = distance
            relevant_post = os_post
    return relevant_post, min_distance