Пример #1
0
def query_cassandra(topic, subreddit, year_month):
    if not year_month_checker(year_month, 2014, 5):
        flash("Ooops, you tried to get comments from an invalid month. Please try something before June 2014.", "error")
        return redirect("/")
    MAX_USERS = 10000
    MAX_COMMENTS = 20
    es_helper = ESHelper()
    top_users = es_helper.get_top_users(subreddit, year_month, MAX_USERS)
    top_filtered_comments = es_helper.get_top_comments_by_score(topic, year_month, top_users, MAX_COMMENTS)
    cassandra_helper = CassandraHelper()
    return render_template(
        "comments.html",
        topic=topic,
        comments=cassandra_helper.get_highest_ranked_comments(top_filtered_comments, year_month),
    )
Пример #2
0
 def get(self):
     app_status = ESHelper.get_status()
     for service in app_status:
         if app_status[service] == "DOWN":
             app_status['rbcapp1'] = "DOWN"
             return app_status
     app_status['rbcapp1'] = "UP"
     return app_status
Пример #3
0
def query_cassandra(topic, subreddit, year_month):
    if not year_month_checker(year_month, 2014, 5):
        flash(
            "Ooops, you tried to get comments from an invalid month. Please try something before June 2014.",
            'error')
        return redirect('/')
    MAX_USERS = 10000
    MAX_COMMENTS = 20
    es_helper = ESHelper()
    top_users = es_helper.get_top_users(subreddit, year_month, MAX_USERS)
    top_filtered_comments = es_helper.get_top_comments_by_score(
        topic, year_month, top_users, MAX_COMMENTS)
    cassandra_helper = CassandraHelper()
    return render_template(
        'comments.html',
        topic=topic,
        comments=cassandra_helper.get_highest_ranked_comments(
            top_filtered_comments, year_month))
Пример #4
0
def query_es():
    MAX_USERS = 10000
    MAX_WORDS = 200
    MAX_OTHER_SUBREDDITS = 20
    es_helper = ESHelper()
    topic = request.form["topic"]
    subreddit = request.form["subreddit"]
    year_month = es_helper.convert_year_month(request.form["year_month"])
    if not year_month_checker(year_month, 2015, 6):
        flash(
            "Ooops, you picked a wrong date range. Please select a month from October 2007 to June 2015",
            "\
error",
        )
        return render_template("index.html", words=[], subreddits=[])
    top_users = es_helper.get_top_users(subreddit, year_month, MAX_USERS)
    current_try = 0
    total_tries = 4
    while current_try < total_tries:
        current_try += 1
        try:
            top_words = es_helper.get_top_words(topic, year_month, top_users, MAX_WORDS)
            current_try = total_tries
        except:
            if current_try == total_tries:
                flash("Read timed out. Don't worry! Try the same search again and it should work this time.", "error")
                return redirect("/")
    top_other_subreddits = es_helper.get_top_other_subreddits(topic, year_month, top_users, MAX_OTHER_SUBREDDITS)
    if not top_words:
        flash(
            "Did not get any results for subreddit {0} users for topic {1} during {2}. Are you sure you spelled everything right? Remember that the subreddit entry is case sensitive".format(
                subreddit, topic, year_month
            ),
            "error",
        )
    return render_template(
        "index.html",
        words=top_words,
        subreddits=top_other_subreddits,
        topic=topic,
        link_url="glean/{0}/{1}/{2}".format(topic, subreddit, year_month),
        show_comments=year_month_checker(year_month, 2014, 5),
    )
Пример #5
0
 def post(self):
     results = []
     uploadedfile = request.files
     for file in uploadedfile:
         request_data = json.load(uploadedfile[file])
         index = request_data["service_name"]
         update_response = ESHelper.update_status(index, request_data)
         if not update_response:
             return {"upload_status": "Failed"}, 500
         results.append(update_response["result"])
     results_set = set(results)
     if "updated" in results_set or "created" in results_set:
         return {"upload_status": "Success"}
     return {"upload_status": "Failed"}, 500
Пример #6
0
def query_es():
    MAX_USERS = 10000
    MAX_WORDS = 200
    MAX_OTHER_SUBREDDITS = 20
    es_helper = ESHelper()
    topic = request.form['topic']
    subreddit = request.form['subreddit']
    year_month = es_helper.convert_year_month(request.form['year_month'])
    if not year_month_checker(year_month, 2015, 6):
        flash(
            "Ooops, you picked a wrong date range. Please select a month from October 2007 to June 2015",
            '\
error')
        return render_template('index.html', words=[], subreddits=[])
    top_users = es_helper.get_top_users(subreddit, year_month, MAX_USERS)
    current_try = 0
    total_tries = 4
    while current_try < total_tries:
        current_try += 1
        try:
            top_words = es_helper.get_top_words(topic, year_month, top_users,
                                                MAX_WORDS)
            current_try = total_tries
        except:
            if current_try == total_tries:
                flash(
                    "Read timed out. Don't worry! Try the same search again and it should work this time.",
                    'error')
                return redirect('/')
    top_other_subreddits = es_helper.get_top_other_subreddits(
        topic, year_month, top_users, MAX_OTHER_SUBREDDITS)
    if not top_words:
        flash(
            'Did not get any results for subreddit {0} users for topic {1} during {2}. Are you sure you spelled everything right? Remember that the subreddit entry is case sensitive'
            .format(subreddit, topic, year_month), 'error')
    return render_template(
        'index.html',
        words=top_words,
        subreddits=top_other_subreddits,
        topic=topic,
        link_url="glean/{0}/{1}/{2}".format(topic, subreddit, year_month),
        show_comments=year_month_checker(year_month, 2014, 5))
Пример #7
0
def create():
    """ Factory method to create a default instance.
  """
    return Processor(
        ESHelper(mapping_type=DEFAULT_MAPPING_TYPE,
                 index_config=DEFAULT_INDEX_CONFIG), S3Helper())
Пример #8
0
 def get(self):
     app_status = ESHelper.get_status()
     for service in app_status:
         if app_status[service] == "DOWN":
             return {"appstatus": "DOWN"}
     return {"appstatus": "UP"}