Exemplo n.º 1
0
 def getLineData(self):
     self.getRequest()
     title = self.soup.title.text
     line = Line()
     if title == "Wykaz linii":
         return None
     stationFromToList = self.soup.title.text.replace("Linia ", "")
     if isinstance(stationFromToList, list):
         cityFrom = self.soup.title.text.replace("Linia ", "").split("–")[0]
         if cityFrom[-1] == " ":
             cityFrom = cityFrom[:-1]
         line.stationFrom = cityFrom
         cityTo = self.soup.title.text.replace("Linia ", "").split("–")[1]
         for sign in ["(", ")"]:
             if sign in cityTo:
                 cityTo = cityTo.replace(sign, "")
             if cityTo[0] == " ":
                 cityTo = cityTo[1:]
             if cityTo[-1] == " ":
                 cityTo = cityTo[:-1]
         line.stationTo = cityTo
     ret = re.search("\(([^)]*)\)[^(]*$", title)
     if ret is not None:
         try:
             number = int(ret.group(1))
         except ValueError:
             if "/" in ret.group(1):
                 number = int(ret.group(1).split("/")[0])
             else:
                 number = None
         line.number = number
     line.bazaCode = self.bazaCode
     for trElem in self.soup.find_all("table")[0].find_all("tr"):
         try:
             tdList = trElem.find_all("td")
             stationData = (tdList[1].a.text, tdList[2].input["value"],
                            tdList[0].span["title"])
             line.stationList.append(stationData)
         except:
             pass
     return line