From 2a3391b2d4e504fb796b4e6b3152a4e1d361b9aa Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Fri, 21 Oct 2011 10:56:42 +0200 Subject: [PATCH] [entropy.client.interfaces.db] add support for "::repo" syntax in package.mask and package.unmask --- lib/entropy/client/interfaces/db.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/entropy/client/interfaces/db.py b/lib/entropy/client/interfaces/db.py index c572a34a2..99415296a 100644 --- a/lib/entropy/client/interfaces/db.py +++ b/lib/entropy/client/interfaces/db.py @@ -37,6 +37,7 @@ from entropy.services.client import WebService from entropy.client.services.interfaces import RepositoryWebService, \ RepositoryWebServiceFactory +import entropy.dep import entropy.tools __all__ = ["CachedRepository", "ClientEntropyRepositoryPlugin", @@ -2041,6 +2042,12 @@ class MaskableRepository(EntropyRepositoryBase): user_package_mask_ids = set() for atom in self._settings['mask']: + atom, repository_ids = entropy.dep.dep_get_match_in_repos(atom) + if repository_ids is not None: + if self.name not in repository_ids: + # then the mask doesn't involve us + continue + # check if @repository is specified matches, r = self.atomMatch(atom, multiMatch = True, maskFilter = False) if r != 0: @@ -2074,6 +2081,11 @@ class MaskableRepository(EntropyRepositoryBase): user_package_unmask_ids = set() for atom in self._settings['unmask']: + atom, repository_ids = entropy.dep.dep_get_match_in_repos(atom) + if repository_ids is not None: + if self.name not in repository_ids: + # then the mask doesn't involve us + continue matches, r = self.atomMatch(atom, multiMatch = True, maskFilter = False) if r != 0: