Example #1
0
def index():
    phrase = Phrase.get_last()

    phrases = Phrase.get_all()

    my_phrases = None

    return render_template(
        "phrase-list.html",
        title="Search Phrases",
        phrases=phrases,
        my_phrases=my_phrases,
        phrase=phrase,
    )
Example #2
0
def matching_track(phrase):
    # phrase may not be in the db at all, or it may be a Track-less Phrase
    p = Phrase.query.filter_by(name=phrase).first()
    if not p:
        p = Phrase(name=phrase)
        db.session.add(p)
        db.session.commit()

    form_str = "\'" + phrase + "\'"
    chunk_max = 10
    for chunk in range(chunk_max):
        results = sp.search(q=form_str,
                            type='track',
                            limit=50,
                            offset=chunk * 50)
        results = results['tracks']['items']
        for track in results:
            if phrase == track['name'].lower():
                t = Track(name=track['name'],
                          artists=track['artists'][0]['name'],
                          album=track['album']['name'],
                          spot_id=track['id'],
                          image_url=track['album']['images'][0]['url'],
                          phrase=p)
                db.session.add(t)
                db.session.commit()
                return t
Example #3
0
def phrase_view(phrase_slug):

    phrase = Phrase.get_phrase(phrase_slug)

    return render_template("phrase.html",
                           title="phrase.phrase_text",
                           phrase=phrase)
Example #4
0
def phrase_latest():

    phrases = Phrase.get_all()

    return render_template("phrase-latest.html",
                           title="Latest Phrases",
                           phrases=phrases)
Example #5
0
    def add_document(title, body, user=None):

        regex = r"[^a-zA-Z\s\.-]"
        title = re.sub(regex, "", title.strip())
        slug = str(uuid.uuid4())[:8]

        document = Document(title=title, body=body, slug=slug, user=user)
        db.session.add(document)

        phrase_texts = TextBlob(body).noun_phrases

        app.logger.info(phrase_texts)

        Phrase.add_multiple(phrase_texts, user, document)

        db.session.commit()

        return document
Example #6
0
    def add_cluster(title, body, user=None):

        regex = r"[^a-zA-Z\s\.-]"
        title = re.sub(regex, "", title.strip())
        slug = str(uuid.uuid4())[:8]

        cluster = Cluster(title=title, body=body, slug=slug)
        db.session.add(cluster)

        phrase_texts = TextBlob(body).noun_phrases

        app.logger.info(phrase_texts)

        Phrase.add_multiple(phrase_texts, user, cluster)

        db.session.commit()

        return cluster
Example #7
0
def phrase_list_api():

    start = time.time()

    phrases = Phrase.get_featured()

    result = {}
    result["phrases"] = Phrase.get_serialized(phrases)
    result["phraseCount"] = phrases.count()

    diff = time.time() - start
    result["executionTime"] = "{:.2f} s".format(diff)

    response = jsonify(result)

    diff = time.time() - start
    app.logger.info("API Execution time: %s", "{:.2f} s".format(diff))

    return response
Example #8
0
def phrase_list():

    term = request.args.get("term", "")

    regex = r"[^\w\.\s\-\,]"
    term = re.sub(regex, "", term.lower().strip())

    phrase = Phrase.get_last()

    if term and "," in term:

        if current_user.is_authenticated:
            Comparison.add_comparison(term=term, user=current_user)
        else:
            Comparison.add_comparison(term=term)

    elif term:
        if current_user.is_anonymous:
            phrase = Phrase.lookup(term)
        else:
            phrase = Phrase.lookup(term, user=current_user)

        if phrase == None:
            flash("Something went wrong")
        # elif phrase.search_count == 1:
        #     flash('New search phrase! ')
        # else:
        #     flash('Searched ' + str(phrase.search_count) + ' times!')

    phrases = Phrase.get_all(limit=500)

    if current_user.is_anonymous:
        my_phrases = None
    else:
        my_phrases = User.get_by_email(current_user.email).phrases

    return render_template(
        "phrase-list.html",
        title="Search Phrases",
        phrases=phrases,
        my_phrases=my_phrases,
        phrase=phrase,
    )
Example #9
0
  File "<pyshell#28>", line 1, in <module>
    for post in Phrase.query.all():
NameError: name 'Phrase' is not defined
>>> for post in models_test.Phrase.query.all():
	db.session.delete(post)

	
>>> db.session.commit()
>>> from app.models import Phrase
Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    from app.models import Phrase
ImportError: No module named 'app.models'
>>> from app.models_test import Phrase
>>> from app import db
>>> p = Phrase(phrase='хоть отбавляй', definition='N-GEN. ХОТЬ_ОТБАВЛЯЙ', examples='У нас тут этого добра - хоть отбавляй!')
>>> db.session.add(p)
>>> db.session.commit()
>>> p = Phrase(phrase='пруд пруди', definition='N-GEN. ПРУД_ПРУДИ', examples='Медом и маслом хоть пруд пруди… ветер взвивает муку вместо пыли')
>>> db.session.add(p)
>>> db.session.commit()
>>> Phrase.query.whoosh_search('пруд').all()
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    Phrase.query.whoosh_search('пруд').all()
AttributeError: 'BaseQuery' object has no attribute 'whoosh_search'
>>> Phrase.query.whoosh_search('пруд').all()
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    Phrase.query.whoosh_search('пруд').all()
AttributeError: 'BaseQuery' object has no attribute 'whoosh_search'