예제 #1
0
    def deleteResult(id):

        try:
            Result.delete_by_id(int(id))
        except:
            return False
        return True
    def getResultByVisit(visit):

        try:
            result = Result.get(Result.teamVisit == visit)
        except:
            return None
        return result
    def getResultByLocal(local):

        try:
            result = Result.get(Result.teamLocal == local)
        except:
            return None
        return result
    def getResult(id):

        try:
            result = Result.get(Result.id == id)
        except:
            return None
        return result
예제 #5
0
    def test_name_team(self):
        """
        Test que comprueba que el nombre del equipo buscado es el devuelto
        :return:
        """
        result = Result()
        name = ""
        team = "Valencia"
        if (rService.getResultByLocal("Valencia") is not None):
            result = rService.getResultByLocal("Valencia")
            name = result.getTeamLocal()
        elif (rService.getResultByVisit("Valencia") is not None):
            result = rService.getResultByVisit("Valencia")
            name = result.getTeamVisit()

        self.assertEqual(name, team)
예제 #6
0
 def updateResult(id, rlocal, rvisit):
     try:
         result = Result.get_by_id(int(id))
         result.setResultLocal(rlocal)
         result.setResultVisit(rvisit)
         result.save()
         return True
     except:
         return False
    def getAll():

        try:
            listResults = []
            result = Result.select()
            for r in result:
                listResults.append(r)
            result = listResults
        except:
            return None
        return result
 def addResult(local, visit, rlocal, rvisit):
     try:
         result = Result()
         result.setTeamLocal(local)
         result.setTeamVisit(visit)
         result.setResultLocal(rlocal)
         result.setResultVisit(rvisit)
         result.save()
         return True
     except:
         return False
    def inserDataResult():
        """Funcion que scrapea de la web la información de los resultados de la jornada de la liga española de fútbol.
        """
        url = "http://resultados.as.com/resultados/futbol/primera/jornada/"

        req = requests.get(url)

        v_tlocal = []  # vector equipos locales
        v_tvisit = []  # vector equipos visitantes
        v_result = []  # vector resultados
        v_result_local = []
        v_result_visit = []
        v_fecha = []  # vecto fechas

        statusCode = req.status_code
        if statusCode == 200:

            # Pasamos el contenido HTML de la web a un objeto BeautifulSoup()
            html = BeautifulSoup(req.text, "html.parser")

            # Obtenemos todos los divs donde estan las entradas de los equipos locales
            entradas = html.find_all('div', {'class': 'equipo-local'})
            for i, entrada in enumerate(entradas):
                equipo_local = entrada.find('span', {
                    'class': 'nombre-equipo'
                }).getText()
                v_tlocal.insert(i, equipo_local)

            # Obtenemos todos los divs donde estan las entradas de los equipos visitantes
            entradas2 = html.find_all('div', {'class': 'equipo-visitante'})
            for i, entrada in enumerate(entradas2):
                equipo_visit = entrada.find('span', {
                    'class': 'nombre-equipo'
                }).getText()
                v_tvisit.insert(i, equipo_visit)

            # Obtenemos todos los divs donde estan los resultados finalizados
            entradas3 = html.find_all('a', {'class': 'resultado'})
            for i, entrada in enumerate(entradas3):
                # resultado = entrada.find('a', {'class' : 'resultado'}).getText()
                v_result.insert(i, entrada.text)
                print(entrada.text)
                result = entrada.text
                position = result.find('-')
                v_result_local.insert(i, int("" + result[position - 2]))
                v_result_visit.insert(i, int("" + result[position + 2]))

            if len(v_result) < 10:
                for i in range(len(v_result), 10):
                    v_result.insert(i, "-")

            # Obtenemos todos los divs donde estan las fechas
            entradas4 = html.find_all('span', {'class': 'fecha'})
            for i, entrada in enumerate(entradas4):
                # resultado = entrada.find('a', {'class' : 'resultado'}).getText()
                v_fecha.insert(i, entrada.text)

            # print (entradas)

            for i in range(10):
                # fun_bd.insertResultados(v_tlocal[i], v_result[i], v_tvisit[i], i + 1)
                try:
                    result = Result.select().where(Result.id == i).get()
                    result.setTeamLocal(v_tlocal[i])
                    result.setTeamVisit(v_tvisit[i])
                    result.setResultLocal(int(v_result_local[i]))
                    result.setResultVisit(int(v_result_visit[i]))
                    result.save()
                except:
                    result = Result()
                    result.setTeamLocal(v_tlocal[i])
                    result.setTeamVisit(v_tvisit[i])
                    result.setResultLocal(int(v_result_local[i]))
                    result.setResultVisit(int(v_result_visit[i]))
                    result.save()

        else:
            print("Status Code %d" % statusCode)
예제 #10
0
 def test_result_team_local(self):
     result = Result(teamLocal="Granada", teamVisit="Valladolid", resultLocal=1, resultVisit=1)
     self.assertEqual(result.getTeamLocal(), "Granada")