Author: jkupec Date: Mon Sep 15 12:31:17 2008 New Revision: 11066 URL: http://svn.opensuse.org/viewcvs/zypp?rev=11066&view=rev Log: - fixed --loose-auth and --loose-query for removeservice Modified: trunk/zypper/src/Zypper.cc trunk/zypper/src/repos.cc Modified: trunk/zypper/src/Zypper.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/Zypper.cc?rev=11066&r1=11065&r2=11066&view=diff ============================================================================== --- trunk/zypper/src/Zypper.cc (original) +++ trunk/zypper/src/Zypper.cc Mon Sep 15 12:31:17 2008 @@ -1013,6 +1013,8 @@ { static struct option options[] = { {"help", no_argument, 0, 'h'}, + {"loose-auth", no_argument, 0, 0}, + {"loose-query", no_argument, 0, 0}, {0, 0, 0, 0} }; specific_options = options; Modified: trunk/zypper/src/repos.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/repos.cc?rev=11066&r1=11065&r2=11066&view=diff ============================================================================== --- trunk/zypper/src/repos.cc (original) +++ trunk/zypper/src/repos.cc Mon Sep 15 12:31:17 2008 @@ -290,18 +290,17 @@ try { - if (known_it->alias() == str || tmp == number) - found = true; + found = known_it->alias() == str || tmp == number; if (!found) { url::ViewOption urlview = url::ViewOption::DEFAULTS + url::ViewOption::WITH_PASSWORD; - if (copts.count("loose-auth")) + if (zypper.cOpts().count("loose-auth")) { urlview = urlview - url::ViewOptions::WITH_PASSWORD - url::ViewOptions::WITH_USERNAME; } - if (copts.count("loose-query")) + if (zypper.cOpts().count("loose-query")) urlview = urlview - url::ViewOptions::WITH_QUERY_STR; if (!(urlview.has(url::ViewOptions::WITH_PASSWORD) @@ -1787,18 +1786,52 @@ try { + // match by alias or number found = (*known_it)->alias() == str || tmp == number; + + // match by URL if (!found) { + url::ViewOption urlview = url::ViewOption::DEFAULTS + url::ViewOption::WITH_PASSWORD; + if (zypper.cOpts().count("loose-auth")) + { + urlview = urlview + - url::ViewOptions::WITH_PASSWORD + - url::ViewOptions::WITH_USERNAME; + } + if (zypper.cOpts().count("loose-query")) + urlview = urlview - url::ViewOptions::WITH_QUERY_STR; + ServiceInfo_Ptr s_ptr = dynamic_pointer_cast<ServiceInfo>(*known_it); - if (s_ptr) - found = Url(str) == s_ptr->url(); + + if (!(urlview.has(url::ViewOptions::WITH_PASSWORD) + && urlview.has(url::ViewOptions::WITH_QUERY_STR))) + { + if (s_ptr) + found = + Url(str).asString(urlview) == s_ptr->url().asString(urlview); + else + { + RepoInfo_Ptr r_ptr = dynamic_pointer_cast<RepoInfo>(*known_it); + for_(urlit, r_ptr->baseUrlsBegin(), r_ptr->baseUrlsEnd()) + if (urlit->asString(urlview) == Url(str).asString(urlview)) + { + found = true; + break; + } + } + } else { - RepoInfo_Ptr r_ptr = dynamic_pointer_cast<RepoInfo>(*known_it); - found = - find(r_ptr->baseUrlsBegin(), r_ptr->baseUrlsEnd(), Url(str)) - != r_ptr->baseUrlsEnd(); + if (s_ptr) + found = Url(str) == s_ptr->url(); + else + { + RepoInfo_Ptr r_ptr = dynamic_pointer_cast<RepoInfo>(*known_it); + found = + find(r_ptr->baseUrlsBegin(), r_ptr->baseUrlsEnd(), Url(str)) + != r_ptr->baseUrlsEnd(); + } } } if (found) -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org