// ----------------------------------------------------------------------------
-static bool do_remove_repo(Zypper & zypper, const RepoInfo & repoinfo)
+bool remove_repo(Zypper & zypper, const RepoInfo & repoinfo)
{
RepoManager manager(zypper.globalOpts().rm_options);
bool found = true;
try
{
manager.removeRepository(repoinfo);
- cout << format(_("Repository %s has been removed.")) % repoinfo.name() << endl;
- MIL << format("Repository %s has been removed.") % repoinfo.name() << endl;
+ cout << format(_("Repository '%s' has been removed.")) % repoinfo.name() << endl;
+ MIL << format("Repository '%s' has been removed.") % repoinfo.name() << endl;
}
catch (const repo::RepoNotFoundException & ex)
{
bool remove_repo(Zypper & zypper, const std::string &alias )
{
- RepoInfo info;
- info.setAlias(alias);
+ list<RepoInfo> repos =
+ RepoManager(zypper.globalOpts().rm_options).knownRepositories();
+ for (list<RepoInfo>::const_iterator it = repos.begin();
+ it != repos.end(); ++it)
+ if (it->alias() == alias)
+ return remove_repo(zypper, *it);
- return do_remove_repo(zypper, info);
+ return false;
}
bool remove_repo(Zypper & zypper, const Url & url, const url::ViewOption & urlview)
try
{
RepoInfo info = manager.getRepositoryInfo(url, urlview);
- found = do_remove_repo(zypper, info);
+ found = remove_repo(zypper, info);
}
catch (const repo::RepoNotFoundException & ex)
{
void add_repo(Zypper & zypper, zypp::RepoInfo & repo);
/**
- * Delte repository specified by \a alias.
+ * Remove repository specified by \a alias.
*/
bool remove_repo(Zypper & zypper, const std::string &alias );
bool remove_repo(Zypper & zypper,
const zypp::Url & url, const zypp::url::ViewOption & urlview);
+bool remove_repo(Zypper & zypper, const zypp::RepoInfo & repoinfo);
+
/**
* Rename repository specified by \a alias to \a newalias.
*/
// remove the additional repositories specified by --plus-repo
for (list<RepoInfo>::const_iterator it = gData.additional_repos.begin();
it != gData.additional_repos.end(); ++it)
- remove_repo(*this, it->alias());
+ remove_repo(*this, *it);
}
// Local Variables: