X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fcommon%2Feniro.cpp;h=8e2503a56e84f802a52c00aa3683dd97beaa7fa2;hb=3637f101f5223d24de435c5edaa44d9d5cc8dd1f;hp=9a9f1a215c5c7ef94156f5a013784fe94c630b0c;hpb=71122b1057b6c12b250b37f6693ed8259f20b34c;p=jenirok diff --git a/src/common/eniro.cpp b/src/common/eniro.cpp index 9a9f1a2..8e2503a 100644 --- a/src/common/eniro.cpp +++ b/src/common/eniro.cpp @@ -46,7 +46,7 @@ namespace static const QString TIMEOUT_STRING = "Request timed out"; static const QString PERSON_REGEXP = "(.*)(.*)"; static const QString YELLOW_REGEXP = "(.*)(.*)"; - static const QString SINGLE_REGEXP = "
(.*)
(.*)
(.*)
"; + static const QString SINGLE_REGEXP = "
(.*)
(.*)
(.*)(
|

(.*)
|

(.*)
)"; static const QString NUMBER_REGEXP = "
(.*)
"; static const QString LOGIN_CHECK = " i + 1 && isStreet(rows[i])) + { + result.street = rows[i]; + result.city = rows[i+1]; + ok = true; + break; + } + } + + } + + } + + if(ok) + { + break; + } + continue; } @@ -348,9 +378,9 @@ void Eniro::loadResults(int id, QString const& httpData) unsigned int foundResults = ++(it.value()->numbersTotal); - // If phone number searh is enabled, we have to make another + // If phone number search is enabled, we have to make another // request to find it out - if(getFindNumber() && size < 4 && loggedIn_ && + if(getFindNumber() && size < 4 && (loggedIn_ || site_ != FI) && it.value()->details.type != YELLOW_PAGES) { requestsPending = true; @@ -473,7 +503,7 @@ QUrl Eniro::createUrl(QString const& query, QString const& location) { url.addQueryItem("hpp", QString::number(maxResults)); } - if(loggedIn_) + if(loggedIn_ && site_ == FI) { url.addQueryItem("login_name", username_); url.addQueryItem("login_password", password_); @@ -512,7 +542,6 @@ void Eniro::emitRequestFinished(int key, SearchData* data, bool error) QMap Eniro::getSites() { QMap sites; - SiteDetails details; for(int i = 0; i < SITE_COUNT; i++) { @@ -541,3 +570,17 @@ Eniro::Site Eniro::stringToSite(QString const& str) return site; } + +bool Eniro::isStreet(QString const& str) +{ + static QRegExp number("([0-9]+)"); + int a = number.indexIn(str); + int b = str.indexOf(" "); + + if((a == -1 && b == -1) || (a != -1 && b != -1)) + { + return true; + } + + return false; +}