def game():
    session['title'], session['hrefs'] = getPage(session['article'])

    if session['title'] == 'Philosophie':
        with open("score.txt", "a") as d:
            d.write(
                str(
                    str(session['article']) + ',' + str(session['score']) +
                    ',' + 'False') + '\n')
            d.close()

        flash(
            "Bravo, vous avez gagné ! Votre score est de : " +
            str(session['score']), "Won")
        return redirect('/')

    if session['title'] == None:
        flash("Dommage, c'est perdu... La page demandée n'existe pas.", "Lost")
        return redirect('/')

    if session['hrefs'] == []:
        flash("Dommage c'est perdu... La page demandée n'a pas de liens.",
              "Lost")
        return redirect('/')

    else:
        session['score'] += 1
        return render_template('game.html',
                               title=session['title'],
                               hrefs=session['hrefs'])
Exemple #2
0
def game():
    title_page, list_href = getPage(session["article"])

    # Stockage du résultat dans la session, pour être en mesure de vérifier
    # que le lien sélectionné par l'utilisateur proviendra bien de cette liste
    session["list_href"] = list_href

    # Cas ou la page demandée n'existe pas
    if title_page is None:
        flash("/!\\ La page wikipédia demandée n'existe pas /!\\", "error")
        return redirect('/')

    # Cas ou aucun lien n'a été remonté
    elif not list_href:
        flash("/!\\ La page wikipédia demandée ne possède aucun lien /!\\",
              "error")
        return redirect('/')

    # Cas le joueur a trouvé la page philosophie
    elif title_page.lower() == "philosophie":
        flash(
            "/!\\ Bravo vous avez gagné la partie en {} coup(s) /!\\".format(
                session["score"]), "success")
        session["score"] = 0
        #return render_template('index.html')
        return redirect('/')

    else:
        return render_template('game.html',
                               title=title_page,
                               href=list_href,
                               score=session["score"])
Exemple #3
0
def game():
    session['title'], session['hrefs'] = getPage(session['article'])

    if session['title'] == 'Philosophy':
        with open("score.txt", "a") as d:
            d.write(
                str(
                    str(session['article']) + ',' + str(session['score']) +
                    ',' + 'False') + '\n')
            d.close()

        flash("You won ! Your score is : " + str(session['score']), "Won")
        return redirect('/')

    if session['title'] == None:
        flash("The desired page " + session['article'] + " does not exist.",
              "Lost")
        return redirect('/')

    if session['hrefs'] == []:
        flash("The desired page has no hyper-links.", "Lost")
        return redirect('/')

    else:
        session['score'] += 1
        session['article'] = session['title']
        return render_template('game.html',
                               title=session['article'],
                               hrefs=session['hrefs'])
Exemple #4
0
def play_game():
    global cache
    if 'current_article' in session:
        article = session['current_article']
    else:
        return redirect('/')

    if (article in cache.keys()):
        title = article
        aList = cache[article]
        #print('In cache')
    else:
        title, aList = getPage(article)
        cache[title] = aList
        # if (title != article):		# Ne pas faire ceci car Philosophique se retrouvera dans le cache
        # et session['current_article'] pourra contenir ainsi 'Philosophique '
        # 		cache[article] = aList

    if (session['score'] == 0):
        session['current_article'] = title
        session['article_redirect'] = title

    if (aList == None):
        print('None')
        flash(u'La page demandée n’existe pas.', 'erreur')
        flash(u' Nous vous avons redirigé sur la page d\'acceuil.', 'erreur')
        return render_template('index.html')
    if (len(aList) == 0):
        flash(u'Il n\'existe pas de lien sur la page que vous avez demandée.',
              'erreur')
        flash(u' Nous vous avons redirigé sur la page d\'acceuil.', 'erreur')
        return render_template('index.html')

    return render_template('game.html', currentTitle=title, items=aList)
Exemple #5
0
def test_wenger():
    title_test, links_test = getPage("Arsène Wenger")
    assert(title_test == "Arsène Wenger")
    assert(links_test == ["22 octobre en sport", "1949 en football", "Strasbourg", "Football",
                          "France", "Défenseur (football)", "1963 en football", "1981 en football",
                          "Entraîneur", "Association sportive de Mutzig"])
    print("Test getPage Wenger OK")
def newgame():
    title = request.form['start']
    session['article'] = title
    session['score'] = 0
    if getPage(title)[0] == 'Philosophie':
        flash("You can't start with Philosophie")
        return redirect('/')
    if 'Philosophie' in getPage(title)[1]:
        flash(
            "You can't start with this world because it redirects to Philosophie"
        )
        return redirect('/')
    if getPage(title)[1] == []:
        flash('You loose: no link in this page')
        return redirect('/')
    else:
        return redirect('/game')
Exemple #7
0
 def testFina3(self):
     article = "Fondo Strategico Italiano"
     links_gold = [
         'Fonds de placement', 'Fonds souverain', 'Bulgari', 'LVMH',
         'Parmalat', 'Lactalis', "Fonds stratégique d'investissement",
         'Cassa depositi e prestiti', 'Fintecna', 'Avio'
     ]
     title, links = getpage.getPage(article)
     self.assertEqual(links, links_gold)
def move():
    session['article'] = request.form['destination']
    if session['article'] == 'Philosophie':
        flash('You win')
        return redirect('/')
    if getPage(session['article'])[1] == []:
        flash('You loose: no link in this page')
        return redirect('/')
    else:
        return redirect('/game')
Exemple #9
0
def game():
    session['title'], session['hrefs'] = getPage(session['article'])
    session['score'] = session['score'] + 1
    if session['article'] == 'Philosophie':
        flash("La partie est gagnée !", 'won')
        return redirect('/')
    if session['hrefs'] == []:
        flash("Plus de liens ! Vous avez perdu. ", 'lost')
        return redirect('/')
    return render_template('game.html',
                           title=session['title'],
                           links=session['hrefs'])
def game():
	title = session['article']
	title,links = getPage(title)
	session['article'] = title
	if(title == "Philosophy" and session['score']!=0):
		flash("Congratulations You Won!!!","mes")
		return redirect("/")
	if not links:
		if session['score'] == 0:
			flash("The Requested Page Does Not Exists!!","error")
			return redirect("/")
		flash("You Lost The Game Because You Reached A Page With No Out-Links!!","mes")
		return redirect("/")
	return render_template('game.html', title = title, links = links)
def move():
	previousPage = request.form['currentPage']
	t , links = getPage(previousPage)
	if previousPage!= session['article']:
		flash("Your Move Was Ignored Because The Game Was Progressed In A Different Window!!","error")
		return redirect("/game")
	title = request.form['choice']
	if not title in links:
		flash("Illegal Move!!","error")
		return redirect("/game")
	score = session['score']
	session['score'] = score + 1
	session['article'] = title   
	return redirect("/game")
Exemple #12
0
def newgame():
    title = request.form['start']
    session['article'] = title
    session['score'] = 0

    if getPage(session['article'])[0] == 'Philosophie':
        flash("Vous ne pouvez pas commencer par le mot 'Philosophie'", 'philo')
        return redirect('/')
    if getPage(session['article'])[0] == 'philosophie':
        flash("Vous ne pouvez pas commencer par le mot 'Philosophie'",
              'philo2')
        return redirect('/')

    if 'philosophie' in getPage(session['article'])[0]:
        flash("Saisir un autre mot ne contenant pas le mot 'Philosophie'",
              'erreur')
        return redirect('/')

    if getPage(session['article'])[1] == []:
        flash("Pas de lien ! Recommencez avec un autre mot :( ", 'lien')
        return redirect('/')
    else:
        return redirect('/game')
def game():
    page = session['article']
    title, items = getPage(page)
    score = session['score']
    if title == "Philosophie" and score == 0:
        flash('Tricheur! (tu sors!)')
        return render_template('index.html')
    elif title == "Philosophie":
        flash('Gagné! (score: %s)' % score)
        return render_template('index.html')
    elif title is None:
        flash('Aucun article trouvé!')
        return render_template('index.html')

    return render_template('game.html', title=title, items=items)
Exemple #14
0
def testTopic(topic, verbose=False):
    page, links = getPage(topic)
    error = None

    if links is None:
        if verbose:
            print("topic does not exist")
        error = 'Le sujet {} n\'est pas traité dans Wikipedia'.format(topic)
    elif len(links) == 0:
        if verbose:
            print("no link")
        error = 'Pas de lien de trouvé dans la page {}'.format(page)
    else:
        if verbose:
            print("topic exists")
    return page, links, error
Exemple #15
0
def game():
    try:
        title, links = getPage(session.get('article'))
        if len(links) == 0:
            raise ValueError(f"Perdu! {title} n'a pas de pages suivantes")

        if session['score'] == 0 and title == 'Philosophie':
            raise ValueError(f"Départ de {title} n'est pas autorisé")

        session['current_links'] = links
        session['trace'].append(title)
        return render_template('game.html', title=title, links=links)
    except ValueError as e:
        session['score'] = 0
        flash(str(e), 'error')
        return redirect('/')
Exemple #16
0
def game():
    # session['title'] , session['content'] =   getPage(session['article'])
    # return  render_template('game.html')
    try:

        session['title'], session['content'] = getPage(session['article'])
        # si contenue vide, amène à aucune page
        if not session['content']:
            flash('It does not lead to other pages, you loose', 'warning')
            return render_template('index.html')
        else:
            session['new_score'] = session['score']
            return render_template('game.html')
    # la page de départ amène nulle part
    except TypeError:
        flash('The page you request does not exist', 'error')
        return render_template('index.html')
def game():
    request = session['article']
    #request = request.capitalize()  # met la 1ere lettre d'un mot (ou ensemble de mots) en majuscule
    #  Retiré car dangeureux.. ex: 'Thierry Lhermite' existe mais pas 'Thierry lhermite'
    #  De même, si on utilisait title(), qui met en majuscule toutes les premières lettres des mots d'un ensemble,
    #   on aurait également des soucis : par ex. 'Langue des signes' existe mais pas 'Langue Des Signes'
    if request in cache:
        title, links = cache[request]
    else:
        title, links = getPage(request, limit=10)
        cache[request] = (title, links)
    session['title'] = title
    session['links'] = links

#    # Verif que le cache marche bien
#    session['cache'] = cache
    
    if not title:
        flash("L'article {} n'existe pas. Retentez avec un autre nom.".format(request))
        session['win'] = False
        return redirect('/')
    elif not links:
        if request != title:
            flash("Perdu ! L'article {} redirige vers {}, \
                  mais cet article ne renvoie aucun lien...".format(request, title))
        else:
            flash("Perdu ! L'article {} ne renvoie aucun lien...".format(request))
        session['win'] = False
        return redirect('/')
    elif title == 'Philosophie':
        if session['score'] == 0:
            flash("L'article {} redirige directement vers Philosophie. \
                  Essayez un autre article.".format(request))
            session['win'] = False
        else:  # en cours de jeu, choisit lien qui redirige sur Philosphie (par ex. Empirisme > Philosophique)
            if session['score'] > 1:
                coup_s = "coups"
            else : 
                coup_s = "coup"
            flash("Vous ne vous y attendiez pas, mais vous venez de gagner en {} {} !\
                  En effet, l'article {} redirige \
                  directement vers Philosophie.".format(session['score'], coup_s, request))
            session['win'] = True
        return redirect('/')
    else:
        return render_template('game.html')
Exemple #18
0
def game():
    global cache
    if session['article'] in cache:
        liste, title = cache[session['article']], session['article']
        return render_template('game.html',
                               title=title,
                               links=liste,
                               cache=cache)
    else:
        liste, title = getPage(session['article'])
        cache[title] = liste
        if liste:
            return render_template('game.html',
                                   title=title,
                                   links=liste,
                                   cache=cache)
        else:
            flash('Vous avez perdu')
            return redirect(url_for('index'))
Exemple #19
0
def game():
    # recherche dans le cache
    if session['article'] in cache.keys():
        session['title'], session['content'] = cache[session['article']]
        return render_template('game.html', message="Game Started !")
    else:
        # appel à l'API
        session['title'], session['content'] = getPage(session['article'])
        # verification du retour de l'API
        if session['content'] == []:
            if session['score'] > 0:
                flash('You Lose !', 'lose')
                flash('Final Score : ' + str(session['score']), 'lose')
            else:
                flash('Try another research !', 'other')
            return redirect('/')
        elif session['title'] is None:
            flash('Page inexistante !', 'lose')
        else:
            cache[session['article']] = [session['title'], session['content']]
            return render_template('game.html', message="Enjoy !")
def game():
    global cheat
    cheat += 1
    global current_links

    if (session['article'] == "Philosophie"):
        mes = "Félicitation vous avez gagné en " + str(
            session['score']) + ' coups'
        flash(mes, category='message')
        return redirect('/')
    else:
        title, links = getPage(session['article'])
        current_links = [x[0] for x in links]
        current = title
        if (len(links) == 0):
            return render_template(
                'index.html',
                message=
                "Ohlala! Pas de lien depuis cette page, vous avez perdu :'( ")
        session['links'] = links
    return render_template('game.html', cheat=cheat, current=current)
def new_game():
    global cheat
    cheat = 0
    global current_links
    current_links = []
    session['article'] = request.form['start']
    session['score'] = 0
    first_page_title, first_page_links = getPage(session['article'])
    first_page_links = [x[1] for x in first_page_links]
    if (str(session['article']).lower() == "philosophie"):
        message = "Un peu trop simple de commencer par Philosophie"
        return render_template('index.html', message=message)
    elif (first_page_title == None):
        message = "Votre page n'éxiste pas"
        return render_template('index.html', message=message)
    elif (len(first_page_links) == 0):
        message = "La page demandée ne comporte pas de liens"
        return render_template('index.html', message=message)
    elif ("Philosophie" in first_page_links):
        message = "Votre page de départ contient déjà un lien vers Philosophie"
        return render_template('index.html', message=message)
    else:
        return redirect('/game')
def game(title=None, items=None, score=None):
    if session["article"] in cache.keys():
        title1, items1 = cache[session["article"]]
        session["test_cache"] = 1
    else:
        session["test_cache"] = 0
        title1, items1 = getPage(session["article"])
        if title1 == "Philosophie":
            flash("C'est un peu de la triche...", 'not_error')
            session["score"] = 1
            return redirect('/')

        if title1 == "":
            flash("La page n'existe pas, retournez à l'école", "error")
            return redirect('/')
        elif not items1:
            flash('Aucun résultat, vous êtes très nul.', "error")
            return redirect('/')

        cache[session["article"]] = title1, items1
    return render_template('game.html',
                           title=title1,
                           items=items1,
                           score=session["score"])
def game():
    session['score'] += 1
    title, links = getPage(session['article'])
    return render_template('game.html', title=title, links=links)
Exemple #24
0
 def testQ3content1(self):
     article = "Bonjour"
     link = "Salutation"
     _, links = getpage.getPage(article)
     self.assertTrue(self.containsThatContains(links, link))
Exemple #25
0
def get_page_from_fenlei():
    fenleis=getFenlei()
    for fenlei in fenleis:
        getPage(fenlei)
Exemple #26
0
import requests
from bs4 import BeautifulSoup
url = 'https://list.winxuan.com/1101'
from getpage import getPage
list = getPage()
def getNum():
    for i in range(len(list)):
        url = list[i][0]
        res = requests.get(url).text
        soup = BeautifulSoup(res,'html.parser')
        try:
            div = soup.find_all('div',class_='sg-commentpage')[0]
        except:
            print('丢失页面')
        num = int(div.find_all('a')[-2].text)
        print(num)
getNum()

Exemple #27
0
 def testQ3title(self):
     article = "Bonjour"
     title, _ = getpage.getPage(article)
     self.assertEqual(title, "Bonjour")
Exemple #28
0
def move_link():
    global cache

    score_page = int(request.form.get('score', 0))
    linkChoice = request.form.get('linkChoice', "")

    if (score_page != int(session['score'])
        ):  # controle sur l'utilisation de plusieurs onglets
        if (linkChoice != session['current_article']):
            flash(u'Attention vous avez déja progressé sur un autre onglet.',
                  'erreur')
            flash(
                u'Si vous souhaitez recommencer une nouvelle partie, remplir le formulaire ci-dessous sinon ouvrez la page http://localhost:5000/game pour continuer la partie',
                'erreur')
            return render_template('index.html')
        else:
            title = linkChoice
            aList = cache[linkChoice]

    else:
        session['score'] = int(session['score']) + 1
        # controle sur la modification de formulaire avec les outils de developpement
        previous_article = session['current_article']
        if (linkChoice not in cache[previous_article]):
            flash(u'Vous avez essayé de tricher petit MALIN!!!!.', 'erreur')
            flash(u' Réessayez en étant honnète :) .', 'erreur')
            return render_template('game.html',
                                   currentTitle=previous_article,
                                   items=cache[previous_article])

        if (linkChoice == session['article_redirect']):
            flash(
                u'BRAVO!!!!  Tous les chemins mènent à ' +
                str(session['article_redirect']) + ', votre SCORE:' +
                str(session['score']), 'succes')
            return render_template('index.html')

        #print("linkChoice: "+linkChoice)
        if (linkChoice in cache.keys()):
            title = linkChoice
            aList = cache[linkChoice]
            #print('In cache')
        else:
            title, aList = getPage(linkChoice)
            cache[title] = aList
            if (title != linkChoice):
                cache[linkChoice] = aList
            #print('Not In cache')

        session['current_article'] = title

    #print(aList)
    if (aList == None):
        #print('None')
        flash(u'La page demandée n’existe pas.', 'erreur')
        flash(u' Nous vous avons redirigé sur la page d\'acceuil.', 'erreur')
        return render_template('index.html')
    if (len(aList) == 0):
        flash(u'Il n\'existe pas de lien sur la page que vous avez demandée.',
              'erreur')
        flash(u' Nous vous avons redirigé sur la page d\'acceuil.', 'erreur')
        return render_template('index.html')

    return render_template('game.html', currentTitle=title, items=aList)
Exemple #29
0
 def testQ3content3(self):
     article = "Seine"
     link = "Troyes"
     _, links = getpage.getPage(article)
     self.assertTrue(self.containsThatContains(links, link))
Exemple #30
0
def get_page_from_fenlei():
    fenleis = getFenlei()
    for fenlei in fenleis:
        getPage(fenlei)
Exemple #31
0
 def testQ3content2(self):
     article = "Bonjour"
     link = "Correspondance"
     _, links = getpage.getPage(article)
     self.assertTrue(self.containsThatContains(links, link))