Entropy/ServerInterface/CommunityRepositories:

- handle __system__ repository correctly in various functions


git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@1968 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
lxnay
2008-05-24 11:42:28 +00:00
parent bf8cab180a
commit d76cc12149
2 changed files with 45 additions and 0 deletions
+33
View File
@@ -12527,6 +12527,11 @@ class ServerInterface(TextInterface):
instance.closeDB()
def switch_default_repository(self, repoid, save = None):
# avoid setting __default__ as default server repo
if repoid == etpConst['clientserverrepoid']:
return
if save == None:
save = self.do_save_repository
if repoid not in etpConst['server_repositories']:
@@ -12621,6 +12626,11 @@ class ServerInterface(TextInterface):
def save_default_repository(self, repoid):
# avoid setting __default__ as default server repo
if repoid == etpConst['clientserverrepoid']:
return
if os.path.isfile(etpConst['serverconf']):
f = open(etpConst['serverconf'],"r")
content = f.readlines()
@@ -12648,6 +12658,11 @@ class ServerInterface(TextInterface):
f.close()
def toggle_repository(self, repoid, enable = True):
# avoid setting __default__ as default server repo
if repoid == etpConst['clientserverrepoid']:
return False
if not os.path.isfile(etpConst['serverconf']):
return None
f = open(etpConst['serverconf'])
@@ -12999,6 +13014,19 @@ class ServerInterface(TextInterface):
switched = set()
# avoid setting __default__ as default server repo
if etpConst['clientserverrepoid'] in (to_repo,from_repo):
self.updateProgress(
"%s: %s" % (
blue(_("You cannot switch packages from/to your system database")),
red(etpConst['clientserverrepoid']),
),
importance = 2,
type = "warning",
header = darkred(" @@ ")
)
return switched
if not matches and from_repo:
dbconn = self.openServerDatabase(read_only = True, no_upload = True, repo = from_repo)
matches = set( \
@@ -15807,6 +15835,11 @@ class ServerMirrorsInterface:
server_repos = etpConst['server_repositories'].keys()
all_actions = set()
for myrepo in server_repos:
# avoid __default__
if myrepo == etpConst['clientserverrepoid']:
continue
mydbc = self.Entropy.openServerDatabase(just_reading = True, repo = myrepo)
actions = mydbc.listAllTreeUpdatesActions(no_ids_repos = True)
for data in actions:
+12
View File
@@ -53,6 +53,10 @@ def sync(options, justTidy = False):
for repo in repos:
# avoid __default__
if repo == etpConst['clientserverrepoid']:
continue
if repo != Entropy.default_repository:
Entropy.switch_default_repository(repo)
@@ -106,6 +110,10 @@ def packages(options):
for repo in repos:
# avoid __default__
if repo == etpConst['clientserverrepoid']:
continue
if repo != Entropy.default_repository:
Entropy.switch_default_repository(repo)
@@ -194,6 +202,10 @@ def database(options):
problems = 0
for repo in repos:
# avoid __default__
if repo == etpConst['clientserverrepoid']:
continue
if repo != Entropy.default_repository:
Entropy.switch_default_repository(repo)