Beispiel #1
0
def yield_characters_per_episode() -> [set]:
    "Yield set of characters belonging to the same episode"
    data = data_module.extract()
    for season, episodes in data.items():
        for episode, citations in episodes.items():
            yield set(itertools.chain.from_iterable(characters for _, characters in citations))
Beispiel #2
0
import numpy as np
from PIL import Image
from wordcloud import WordCloud
import data as data_module

IMG_OUT = 'out/wordcloud.png'
IMG_MASK = 'resources/kaamelott-mask.png'
FILE_STOPWORDS = 'resources/stopwords'


def get_citation_texts(data):
    for episodes in data.values():
        for citations in episodes.values():
            yield from (c.text for c in citations)


def get_stop_words():
    with open(FILE_STOPWORDS) as fd:
        for line in fd:
            yield line.strip()


if __name__ == '__main__':
    data = data_module.extract()
    stopwords = set(get_stop_words())
    mask = np.array(Image.open(IMG_MASK))
    text = '\n'.join(get_citation_texts(data)).lower()
    wc = WordCloud(margin=10, stopwords=stopwords, mask=mask).generate(text)
    wc.to_image().save(IMG_OUT)
Beispiel #3
0
@app.route('/')
def Home():
    return render_template('home.html')


@app.route('/about')
def About():
    return render_template('about.html')


#ordenes
if __name__ == '__main__':

    app.run(debug=True)

    data.extract(con, f='lima')


# ruta /add_contact --> agregar un nuevo objeto a la base de datos.
@app.route('/add_contact', methods=['POST'])
def add_contact():
    if request.method == 'POST':
        name = request.form['name']
        place = request.form['place']
        city = request.form['city']
        direction = request.form['direction']
        cur = con.cursor()
        cur.execute(
            'INSERT INTO contacto (name , place , city, direction) VALUES (%s, %s, %s, %s)',
            [name, place, city, direction])
        con.commit()