Mam program, który pobiera informacje z innych stron i analizuje je za pomocą GetPage BeautifulSoup i Twisted. Później w programie wypisuję informacje, które tworzy odroczony proces. Obecnie mój program próbuje go wydrukować, zanim różniczka zwróci informacje. Jak mogę czekać?Uruchamianie programu Pythona do momentu, w którym Twisted odracza, zwraca wartość
def twisAmaz(contents): #This parses the page (amazon api xml file)
stonesoup = BeautifulStoneSoup(contents)
if stonesoup.find("mediumimage") == None:
imageurl.append("/images/notfound.png")
else:
imageurl.append(stonesoup.find("mediumimage").url.contents[0])
usedPdata = stonesoup.find("lowestusedprice")
newPdata = stonesoup.find("lowestnewprice")
titledata = stonesoup.find("title")
reviewdata = stonesoup.find("editorialreview")
if stonesoup.find("asin") != None:
asin.append(stonesoup.find("asin").contents[0])
else:
asin.append("None")
reactor.stop()
deferred = dict()
for tmpISBN in isbn: #Go through ISBN numbers and get Amazon API information for each
deferred[(tmpISBN)] = getPage(fetchInfo(tmpISBN))
deferred[(tmpISBN)].addCallback(twisAmaz)
reactor.run()
.....print info on each ISBN
czy naprawdę używasz 1 spacji na wcięcie ... –
To był problem z formatowaniem tutaj, rzeczywisty kod wykorzystuje zakładkę –