[entropy.db] rename EntropyRepositoryBase "reponame" attribute to "name", keeping backward compat.
This commit is contained in:
@@ -1542,7 +1542,7 @@ def print_package_info(idpackage, dbconn, clientSearch = False,
|
||||
repoinfo = ''
|
||||
desc = ''
|
||||
if showRepoOnQuiet:
|
||||
repoinfo = "[%s] " % (dbconn.reponame,)
|
||||
repoinfo = "[%s] " % (dbconn.name,)
|
||||
if showDescOnQuiet:
|
||||
desc = ' %s' % (dbconn.retrieveDescription(idpackage),)
|
||||
print_generic("%s%s%s" % (repoinfo, pkgatom, desc,))
|
||||
@@ -1593,7 +1593,7 @@ def print_package_info(idpackage, dbconn, clientSearch = False,
|
||||
|
||||
print_info(red(" @@ %s: " % (_("Package"),) ) + bold(pkgatom) + \
|
||||
" "+ blue("%s: " % (_("branch"),)) + bold(pkgbranch) + \
|
||||
", [" + purple(str(dbconn.reponame)) + "] ")
|
||||
", [" + purple(str(dbconn.name)) + "] ")
|
||||
if not strictOutput and extended:
|
||||
pkgname = dbconn.retrieveName(idpackage) or corrupted_str
|
||||
pkgcat = dbconn.retrieveCategory(idpackage) or corrupted_str
|
||||
|
||||
@@ -369,7 +369,7 @@ def smartpackagegenerator(entropy_client, matched_pkgs):
|
||||
os.mkdir(unpackdir+"/db")
|
||||
# create master database
|
||||
dbfile = unpackdir+"/db/merged.db"
|
||||
mergeDbconn = entropy_client.open_generic_repository(dbfile, dbname = "client")
|
||||
mergeDbconn = entropy_client.open_generic_repository(dbfile, name = "client")
|
||||
mergeDbconn.initializeRepository()
|
||||
tmpdbfile = dbfile+"--readingdata"
|
||||
for package in matched_pkgs:
|
||||
|
||||
@@ -148,7 +148,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __get_eapi3_repository_metadata(self, eapi3_interface, session):
|
||||
product = self._settings['repositories']['product']
|
||||
data = eapi3_interface.CmdInterface.get_repository_metadata(
|
||||
session, self.reponame, etpConst['currentarch'], product
|
||||
session, self.name, etpConst['currentarch'], product
|
||||
)
|
||||
if not isinstance(data, dict):
|
||||
return {}
|
||||
@@ -165,11 +165,11 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __get_eapi3_connection(self):
|
||||
# get database url
|
||||
avail_data = self._settings['repositories']['available']
|
||||
dburl = avail_data[self.reponame].get('service_uri')
|
||||
dburl = avail_data[self.name].get('service_uri')
|
||||
if dburl is None:
|
||||
return None
|
||||
|
||||
port = avail_data[self.reponame]['service_port']
|
||||
port = avail_data[self.name]['service_port']
|
||||
try:
|
||||
from entropy.services.ugc.interfaces import Client
|
||||
from entropy.client.services.ugc.commands import Client as \
|
||||
@@ -195,7 +195,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __get_eapi3_local_database(self):
|
||||
|
||||
avail_data = self._settings['repositories']['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
|
||||
dbfile = os.path.join(repo_data['dbpath'],
|
||||
etpConst['etpdatabasefile'])
|
||||
@@ -214,7 +214,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
product = self._settings['repositories']['product']
|
||||
data = eapi3_interface.CmdInterface.differential_packages_comparison(
|
||||
session, idpackages, self.reponame,
|
||||
session, idpackages, self.name,
|
||||
etpConst['currentarch'], product
|
||||
)
|
||||
if isinstance(data, bool): # then it's probably == False
|
||||
@@ -320,7 +320,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
online = self.remote_revision()
|
||||
if online != -1:
|
||||
local = AvailablePackagesRepository.revision(
|
||||
self.reponame)
|
||||
self.name)
|
||||
if (local == online) and (not self.__force):
|
||||
return False
|
||||
return True
|
||||
@@ -328,7 +328,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __show_repository_information(self):
|
||||
|
||||
avail_data = self._settings['repositories']['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
|
||||
self._entropy.output(
|
||||
bold("%s") % ( repo_data['description'] ),
|
||||
@@ -385,7 +385,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __ensure_repository_path(self):
|
||||
|
||||
avail_data = self._settings['repositories']['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
|
||||
# create dir if it doesn't exist
|
||||
if not os.path.isdir(repo_data['dbpath']):
|
||||
@@ -396,7 +396,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
def __validate_compression_method(self):
|
||||
|
||||
repo = self.reponame
|
||||
repo = self.name
|
||||
repo_settings = self._settings['repositories']
|
||||
dbc_format = repo_settings['available'][repo]['dbcformat']
|
||||
cmethod = etpConst['etpdatabasecompressclasses'].get(dbc_format)
|
||||
@@ -408,7 +408,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __remove_repository_files(self):
|
||||
sys_set = self._settings
|
||||
avail_data = sys_set['repositories']['available']
|
||||
repo_dbpath = avail_data[self.reponame]['dbpath']
|
||||
repo_dbpath = avail_data[self.name]['dbpath']
|
||||
shutil.rmtree(repo_dbpath, True)
|
||||
|
||||
def __handle_database_download(self, cmethod):
|
||||
@@ -537,7 +537,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def __verify_database_checksum(self, cmethod = None):
|
||||
|
||||
sys_settings_repos = self._settings['repositories']
|
||||
avail_config = sys_settings_repos['available'][self.reponame]
|
||||
avail_config = sys_settings_repos['available'][self.name]
|
||||
|
||||
sep = os.path.sep
|
||||
if self._repo_eapi == 1:
|
||||
@@ -569,7 +569,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
rc = 0
|
||||
path = None
|
||||
sys_set_repos = self._settings['repositories']['available']
|
||||
repo_data = sys_set_repos[self.reponame]
|
||||
repo_data = sys_set_repos[self.name]
|
||||
|
||||
garbage, myfile = self._construct_paths(down_item, cmethod)
|
||||
|
||||
@@ -635,9 +635,9 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
return True, myitem
|
||||
|
||||
def __update_repository_revision(self):
|
||||
cur_rev = AvailablePackagesRepository.revision(self.reponame)
|
||||
cur_rev = AvailablePackagesRepository.revision(self.name)
|
||||
repo_data = self._settings['repositories']
|
||||
db_data = repo_data['available'][self.reponame]
|
||||
db_data = repo_data['available'][self.name]
|
||||
db_data['dbrevision'] = "0"
|
||||
if cur_rev != -1:
|
||||
db_data['dbrevision'] = str(cur_rev)
|
||||
@@ -665,7 +665,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
header = "\t"
|
||||
)
|
||||
try:
|
||||
dbconn = self._entropy.open_repository(self.reponame)
|
||||
dbconn = self._entropy.open_repository(self.name)
|
||||
except RepositoryError as err:
|
||||
tell_error(err)
|
||||
return False
|
||||
@@ -687,7 +687,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
level = "info",
|
||||
header = "\t"
|
||||
)
|
||||
dbconn = self._entropy.open_repository(self.reponame)
|
||||
dbconn = self._entropy.open_repository(self.name)
|
||||
dbconn.createAllIndexes()
|
||||
dbconn.commit(force = True)
|
||||
if self._entropy.installed_repository() is not None:
|
||||
@@ -711,7 +711,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
raise AttributeError(mytxt)
|
||||
|
||||
avail_data = self._settings['repositories']['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
|
||||
repo_db = repo_data['database']
|
||||
repo_dbpath = repo_data['dbpath']
|
||||
@@ -854,7 +854,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
def _standard_items_download(self):
|
||||
|
||||
repos_data = self._settings['repositories']
|
||||
repo_data = repos_data['available'][self.reponame]
|
||||
repo_data = repos_data['available'][self.name]
|
||||
notice_board = os.path.basename(repo_data['local_notice_board'])
|
||||
db_meta_file = etpConst['etpdatabasemetafilesfile']
|
||||
db_meta_file_gpg = etpConst['etpdatabasemetafilesfile'] + \
|
||||
@@ -1020,7 +1020,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
finally:
|
||||
shutil.rmtree(tmpdir, True)
|
||||
|
||||
repo_r = AvailablePackagesRepository.revision(self.reponame)
|
||||
repo_r = AvailablePackagesRepository.revision(self.name)
|
||||
mytxt = "%s: %s" % (
|
||||
red(_("Repository revision")),
|
||||
bold(str(repo_r)),
|
||||
@@ -1107,7 +1107,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
my_repos = self._settings['repositories']
|
||||
avail_data = my_repos['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
gpg_path = repo_data['gpg_pubkey']
|
||||
|
||||
if not (os.path.isfile(gpg_path) and os.access(gpg_path, os.R_OK)):
|
||||
@@ -1150,7 +1150,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
pk_expired = False
|
||||
try:
|
||||
pk_avail = repo_sec.is_pubkey_available(self.reponame)
|
||||
pk_avail = repo_sec.is_pubkey_available(self.name)
|
||||
except repo_sec.KeyExpired:
|
||||
pk_avail = False
|
||||
pk_expired = True
|
||||
@@ -1163,18 +1163,18 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
# try to install and get fingerprint
|
||||
try:
|
||||
downloaded_key_fp = repo_tmp_sec.install_key(
|
||||
self.reponame, gpg_path)
|
||||
self.name, gpg_path)
|
||||
except RepositorySecurity.GPGError:
|
||||
downloaded_key_fp = None
|
||||
|
||||
fingerprint = repo_sec.get_key_metadata(self.reponame)['fingerprint']
|
||||
fingerprint = repo_sec.get_key_metadata(self.name)['fingerprint']
|
||||
shutil.rmtree(tmp_dir, True)
|
||||
|
||||
if downloaded_key_fp != fingerprint and \
|
||||
(downloaded_key_fp is not None):
|
||||
mytxt = "%s: %s !!!" % (
|
||||
purple(_("GPG key changed for")),
|
||||
bold(self.reponame),
|
||||
bold(self.name),
|
||||
)
|
||||
self._entropy.output(
|
||||
mytxt,
|
||||
@@ -1194,7 +1194,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
else:
|
||||
mytxt = "%s: %s" % (
|
||||
purple(_("GPG key already installed for")),
|
||||
bold(self.reponame),
|
||||
bold(self.name),
|
||||
)
|
||||
self._entropy.output(
|
||||
mytxt,
|
||||
@@ -1207,7 +1207,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
elif pk_expired:
|
||||
mytxt = "%s: %s" % (
|
||||
purple(_("GPG key EXPIRED for repository")),
|
||||
bold(self.reponame),
|
||||
bold(self.name),
|
||||
)
|
||||
self._entropy.output(
|
||||
mytxt,
|
||||
@@ -1219,7 +1219,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
# actually install
|
||||
mytxt = "%s: %s" % (
|
||||
purple(_("Installing GPG key for repository")),
|
||||
brown(self.reponame),
|
||||
brown(self.name),
|
||||
)
|
||||
self._entropy.output(
|
||||
mytxt,
|
||||
@@ -1228,7 +1228,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
back = True
|
||||
)
|
||||
try:
|
||||
fingerprint = repo_sec.install_key(self.reponame,
|
||||
fingerprint = repo_sec.install_key(self.name,
|
||||
gpg_path)
|
||||
except RepositorySecurity.GPGError as err:
|
||||
mytxt = "%s: %s" % (
|
||||
@@ -1244,7 +1244,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
mytxt = "%s: %s" % (
|
||||
purple(_("Successfully installed GPG key for repository")),
|
||||
brown(self.reponame),
|
||||
brown(self.name),
|
||||
)
|
||||
self._entropy.output(
|
||||
mytxt,
|
||||
@@ -1302,7 +1302,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
back = True
|
||||
)
|
||||
|
||||
is_valid, err_msg = repo_sec.verify_file(self.reponame,
|
||||
is_valid, err_msg = repo_sec.verify_file(self.name,
|
||||
target_path, sign_path)
|
||||
if is_valid:
|
||||
mytxt = "%s: %s" % (
|
||||
@@ -1447,7 +1447,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
fetch_count += 1
|
||||
cmd_intf = eapi3_interface.CmdInterface
|
||||
pkgdata = cmd_intf.get_strict_package_information(
|
||||
session, segment, self.reponame,
|
||||
session, segment, self.name,
|
||||
etpConst['currentarch'], product
|
||||
)
|
||||
if pkgdata is None:
|
||||
@@ -1533,7 +1533,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
# update treeupdates
|
||||
try:
|
||||
mydbconn.setRepositoryUpdatesDigest(self.reponame,
|
||||
mydbconn.setRepositoryUpdatesDigest(self.name,
|
||||
repo_metadata['treeupdates_digest'])
|
||||
mydbconn.bumpTreeUpdatesActions(
|
||||
repo_metadata['treeupdates_actions'])
|
||||
@@ -1716,7 +1716,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
return repo_rev
|
||||
|
||||
avail_data = self._settings['repositories']['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
|
||||
url = repo_data['database'] + "/" + \
|
||||
etpConst['etpdatabaserevisionfile']
|
||||
@@ -1773,7 +1773,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
|
||||
my_repos = self._settings['repositories']
|
||||
avail_data = my_repos['available']
|
||||
repo_data = avail_data[self.reponame]
|
||||
repo_data = avail_data[self.name]
|
||||
|
||||
# some variables
|
||||
dumpfile = os.path.join(repo_data['dbpath'],
|
||||
@@ -1960,7 +1960,7 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
try:
|
||||
spm_class = self._entropy.Spm_class()
|
||||
spm_class.entropy_client_post_repository_update_hook(
|
||||
self._entropy, self.reponame)
|
||||
self._entropy, self.name)
|
||||
except Exception as err:
|
||||
entropy.tools.print_traceback()
|
||||
mytxt = "%s: %s" % (
|
||||
|
||||
@@ -132,7 +132,7 @@ class RepositoryMixin:
|
||||
if package_mirrors is None:
|
||||
package_mirrors = []
|
||||
|
||||
dbc = self.open_temp_repository(dbname = repoid, temp_file = temp_file)
|
||||
dbc = self.open_temp_repository(name = repoid, temp_file = temp_file)
|
||||
repo_key = self.__get_repository_cache_key(repoid)
|
||||
self._memory_db_instances[repo_key] = dbc
|
||||
|
||||
@@ -260,7 +260,7 @@ class RepositoryMixin:
|
||||
conn = self.get_repository(repoid)(
|
||||
readOnly = True,
|
||||
dbFile = dbfile,
|
||||
dbname = repoid,
|
||||
name = repoid,
|
||||
xcache = xcache,
|
||||
indexing = indexing
|
||||
)
|
||||
@@ -669,7 +669,7 @@ class RepositoryMixin:
|
||||
level = "warning",
|
||||
header = bold(" !!! "),
|
||||
)
|
||||
m_conn = self.open_temp_repository(dbname = etpConst['clientdbid'])
|
||||
m_conn = self.open_temp_repository(name = etpConst['clientdbid'])
|
||||
self._add_plugin_to_client_repository(m_conn)
|
||||
return m_conn
|
||||
|
||||
@@ -686,7 +686,7 @@ class RepositoryMixin:
|
||||
repo_class = self.get_repository(etpConst['clientdbid'])
|
||||
conn = repo_class(readOnly = False,
|
||||
dbFile = db_path,
|
||||
dbname = etpConst['clientdbid'],
|
||||
name = etpConst['clientdbid'],
|
||||
xcache = self.xcache, indexing = self.indexing
|
||||
)
|
||||
self._add_plugin_to_client_repository(conn)
|
||||
@@ -716,18 +716,22 @@ class RepositoryMixin:
|
||||
# make sure settings are in sync
|
||||
self._settings.clear()
|
||||
|
||||
def open_generic_repository(self, dbfile, dbname = None, xcache = None,
|
||||
read_only = False, indexing_override = None, skip_checks = False):
|
||||
def open_generic_repository(self, dbfile, dbname = None, name = None,
|
||||
xcache = None, read_only = False, indexing_override = None,
|
||||
skip_checks = False):
|
||||
if xcache is None:
|
||||
xcache = self.xcache
|
||||
if indexing_override != None:
|
||||
indexing = indexing_override
|
||||
else:
|
||||
indexing = self.indexing
|
||||
if dbname is not None:
|
||||
# backward compatibility
|
||||
name = dbname
|
||||
conn = GenericRepository(
|
||||
readOnly = read_only,
|
||||
dbFile = dbfile,
|
||||
dbname = dbname,
|
||||
name = name,
|
||||
xcache = xcache,
|
||||
indexing = indexing,
|
||||
skipChecks = skip_checks
|
||||
@@ -735,14 +739,17 @@ class RepositoryMixin:
|
||||
self._add_plugin_to_client_repository(conn)
|
||||
return conn
|
||||
|
||||
def open_temp_repository(self, dbname = None, temp_file = None):
|
||||
def open_temp_repository(self, dbname = None, name = None, temp_file = None):
|
||||
if temp_file is None:
|
||||
tmp_fd, temp_file = tempfile.mkstemp()
|
||||
os.close(tmp_fd)
|
||||
if dbname is not None:
|
||||
# backward compatibility
|
||||
name = dbname
|
||||
dbc = GenericRepository(
|
||||
readOnly = False,
|
||||
dbFile = temp_file,
|
||||
dbname = dbname,
|
||||
name = name,
|
||||
xcache = False,
|
||||
indexing = False,
|
||||
skipChecks = True,
|
||||
|
||||
@@ -427,7 +427,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
_LIVE_CACHE = {}
|
||||
|
||||
def __init__(self, readOnly = False, dbFile = None, xcache = False,
|
||||
dbname = None, indexing = True, skipChecks = False, temporary = False):
|
||||
name = None, indexing = True, skipChecks = False, temporary = False):
|
||||
"""
|
||||
EntropyRepository constructor.
|
||||
|
||||
@@ -437,8 +437,8 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
@type dbFile: string
|
||||
@keyword xcache: enable on-disk cache
|
||||
@type xcache: bool
|
||||
@keyword dbname: EntropyRepository instance identifier
|
||||
@type dbname: string
|
||||
@keyword name: repository identifier
|
||||
@type name: string
|
||||
@keyword indexing: enable database indexes
|
||||
@type indexing: bool
|
||||
@keyword skipChecks: if True, skip integrity checks
|
||||
@@ -451,11 +451,11 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
self.__cursor_cache = {}
|
||||
self.__connection_cache = {}
|
||||
self._cleanup_stale_cur_conn_t = time.time()
|
||||
if dbname is None:
|
||||
dbname = etpConst['genericdbid']
|
||||
if name is None:
|
||||
name = etpConst['genericdbid']
|
||||
|
||||
EntropyRepositoryBase.__init__(self, readOnly, xcache, temporary,
|
||||
dbname, indexing)
|
||||
name, indexing)
|
||||
|
||||
self._db_path = dbFile
|
||||
if self._db_path is None:
|
||||
@@ -585,7 +585,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
second_part = ", ro: %s, caching: %s, indexing: %s" % (
|
||||
self.readonly, self.xcache, self.indexing,)
|
||||
third_part = ", name: %s, skip_upd: %s, st_upd: %s" % (
|
||||
self.reponame, self.__skip_checks, self.__structure_update,)
|
||||
self.name, self.__skip_checks, self.__structure_update,)
|
||||
fourth_part = ", conn_cache: %s, cursor_cache: %s>" % (
|
||||
self.__connection_cache, self.__cursor_cache,)
|
||||
|
||||
@@ -623,7 +623,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
|
||||
def __getLiveCacheKey(self):
|
||||
return etpConst['systemroot'] + "_" + self._db_path + "_" + \
|
||||
self.reponame + "_"
|
||||
self.name + "_"
|
||||
|
||||
def __clearLiveCache(self, key):
|
||||
try:
|
||||
@@ -4599,7 +4599,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
# use sqlite3 pragma
|
||||
pingus = MtimePingus()
|
||||
# since quick_check is slow, run it every 72 hours
|
||||
action_str = "EntropyRepository.validate(%s)" % (self.reponame,)
|
||||
action_str = "EntropyRepository.validate(%s)" % (self.name,)
|
||||
passed = pingus.hours_passed(action_str, 72)
|
||||
if passed:
|
||||
cur = self._cursor().execute("PRAGMA quick_check(1)")
|
||||
@@ -5538,8 +5538,8 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
|
||||
# TODO: remove this before 31-12-2011
|
||||
|
||||
# entropy.qa uses this reponame, must skip migration
|
||||
if self.reponame in ("qa_testing", "mem_repo"):
|
||||
# entropy.qa uses this name, must skip migration
|
||||
if self.name in ("qa_testing", "mem_repo"):
|
||||
return
|
||||
|
||||
tables = ("extrainfo", "dependencies" , "provide",
|
||||
@@ -5568,7 +5568,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
if not done_something:
|
||||
mytxt = "%s: [%s] %s" % (
|
||||
bold(_("ATTENTION")),
|
||||
purple(self.reponame),
|
||||
purple(self.name),
|
||||
red(_("updating repository metadata layout, please wait!")),
|
||||
)
|
||||
self.output(
|
||||
@@ -5670,7 +5670,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
self.__clearLiveCache("_doesTableExist")
|
||||
self.__clearLiveCache("_doesColumnInTableExist")
|
||||
|
||||
if self.reponame != etpConst['clientdbid']:
|
||||
if self.name != etpConst['clientdbid']:
|
||||
return do_create()
|
||||
|
||||
mytxt = "%s: %s" % (
|
||||
@@ -5912,7 +5912,7 @@ class EntropyRepository(EntropyRepositoryBase):
|
||||
"""
|
||||
checksum = self.checksum()
|
||||
cache_key = "__generateReverseDependenciesMetadata_%s_%s_%s" % (
|
||||
etpConst['systemroot'], self.reponame, checksum,)
|
||||
etpConst['systemroot'], self.name, checksum,)
|
||||
rev_deps_data = self._cacher.pop(cache_key)
|
||||
if rev_deps_data is not None:
|
||||
self.__setLiveCache("reverseDependenciesMetadata",
|
||||
|
||||
@@ -359,7 +359,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
VIRTUAL_META_PACKAGE_CATEGORY = "virtual"
|
||||
|
||||
def __init__(self, readonly, xcache, temporary, reponame, indexing):
|
||||
def __init__(self, readonly, xcache, temporary, name, indexing):
|
||||
"""
|
||||
EntropyRepositoryBase constructor.
|
||||
|
||||
@@ -369,8 +369,8 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
@type xcache: bool
|
||||
@param temporary: is this repo a temporary (non persistent) one?
|
||||
@type temporary: bool
|
||||
@param reponame: name of this repository
|
||||
@type reponame: string
|
||||
@param name: repository identifier (or name)
|
||||
@type name: string
|
||||
@param indexing: enable metadata indexing (for faster retrieval)
|
||||
@type indexing: bool
|
||||
"""
|
||||
@@ -378,7 +378,9 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
self.xcache = xcache
|
||||
self.temporary = temporary
|
||||
self.indexing = indexing
|
||||
self.reponame = reponame
|
||||
self.name = name
|
||||
# backward compatibility
|
||||
self.reponame = name
|
||||
self._settings = SystemSettings()
|
||||
self._cacher = EntropyCacher()
|
||||
self.__db_match_cache_key = EntropyCacher.CACHE_IDS['db_match']
|
||||
@@ -667,7 +669,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
if filter_similar:
|
||||
# filter out packages in the same scope that are allowed to stay
|
||||
idpkgs = self._settings[srv_ss_fs_plg]['repos'].get(
|
||||
self.reponame)
|
||||
self.name)
|
||||
if idpkgs:
|
||||
if -1 in idpkgs:
|
||||
del searchsimilar[:]
|
||||
@@ -3632,20 +3634,20 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
def _maskFilter_live(self, package_id):
|
||||
|
||||
ref = self._settings['pkg_masking_reference']
|
||||
if (package_id, self.reponame) in \
|
||||
if (package_id, self.name) in \
|
||||
self._settings['live_packagemasking']['mask_matches']:
|
||||
|
||||
# do not cache this
|
||||
return -1, ref['user_live_mask']
|
||||
|
||||
elif (package_id, self.reponame) in \
|
||||
elif (package_id, self.name) in \
|
||||
self._settings['live_packagemasking']['unmask_matches']:
|
||||
|
||||
return package_id, ref['user_live_unmask']
|
||||
|
||||
def _maskFilter_user_package_mask(self, package_id, live):
|
||||
|
||||
mykw = "%smask_ids" % (self.reponame,)
|
||||
mykw = "%smask_ids" % (self.name,)
|
||||
user_package_mask_ids = self._settings.get(mykw)
|
||||
|
||||
if not isinstance(user_package_mask_ids, (list, set)):
|
||||
@@ -3669,7 +3671,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
cl_data = self._settings[self.__cs_plugin_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = -1, myr
|
||||
validator_cache[(package_id, self.name, live)] = -1, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
pass
|
||||
@@ -3680,7 +3682,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
# see if we can unmask by just lookin into user
|
||||
# package.unmask stuff -> self._settings['unmask']
|
||||
mykw = "%sunmask_ids" % (self.reponame,)
|
||||
mykw = "%sunmask_ids" % (self.name,)
|
||||
user_package_unmask_ids = self._settings.get(mykw)
|
||||
|
||||
if not isinstance(user_package_unmask_ids, (list, set)):
|
||||
@@ -3703,7 +3705,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
cl_data = self._settings[self.__cs_plugin_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
@@ -3720,12 +3722,12 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
if client_settings:
|
||||
repos_mask = client_settings['repositories']['mask']
|
||||
|
||||
repomask = repos_mask.get(self.reponame)
|
||||
repomask = repos_mask.get(self.name)
|
||||
if isinstance(repomask, (list, set)):
|
||||
|
||||
# first, seek into generic masking, all branches
|
||||
# (below) avoid issues with repository names
|
||||
mask_repo_id = "%s_ids@@:of:%s" % (self.reponame, self.reponame,)
|
||||
mask_repo_id = "%s_ids@@:of:%s" % (self.name, self.name,)
|
||||
repomask_ids = repos_mask.get(mask_repo_id)
|
||||
|
||||
if not isinstance(repomask_ids, set):
|
||||
@@ -3748,7 +3750,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
plg_id = self.__cs_plugin_id
|
||||
cl_data = self._settings[plg_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
-1, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
@@ -3775,7 +3777,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
cl_data = self._settings[self.__cs_plugin_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = -1, myr
|
||||
validator_cache[(package_id, self.name, live)] = -1, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
pass
|
||||
@@ -3802,7 +3804,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
cl_data = self._settings[self.__cs_plugin_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
@@ -3816,12 +3818,12 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
# seek in repository first
|
||||
keyword_repo = self._settings['keywords']['repositories']
|
||||
|
||||
for keyword in keyword_repo.get(self.reponame, {}).keys():
|
||||
for keyword in keyword_repo.get(self.name, {}).keys():
|
||||
|
||||
if keyword not in mykeywords:
|
||||
continue
|
||||
|
||||
keyword_data = keyword_repo[self.reponame].get(keyword)
|
||||
keyword_data = keyword_repo[self.name].get(keyword)
|
||||
if not keyword_data:
|
||||
continue
|
||||
|
||||
@@ -3833,7 +3835,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
plg_id = self.__cs_plugin_id
|
||||
cl_data = self._settings[plg_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
@@ -3842,7 +3844,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
return package_id, myr
|
||||
|
||||
kwd_key = "%s_ids" % (keyword,)
|
||||
keyword_data_ids = keyword_repo[self.reponame].get(kwd_key)
|
||||
keyword_data_ids = keyword_repo[self.name].get(kwd_key)
|
||||
if not isinstance(keyword_data_ids, set):
|
||||
|
||||
keyword_data_ids = set()
|
||||
@@ -3853,7 +3855,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
continue
|
||||
keyword_data_ids |= matches
|
||||
|
||||
keyword_repo[self.reponame][kwd_key] = keyword_data_ids
|
||||
keyword_repo[self.name][kwd_key] = keyword_data_ids
|
||||
|
||||
if package_id in keyword_data_ids:
|
||||
|
||||
@@ -3863,7 +3865,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
plg_id = self.__cs_plugin_id
|
||||
cl_data = self._settings[plg_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
@@ -3886,7 +3888,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
continue
|
||||
|
||||
kwd_key = "%s_ids" % (keyword,)
|
||||
keyword_data_ids = keyword_pkg.get(self.reponame+kwd_key)
|
||||
keyword_data_ids = keyword_pkg.get(self.name+kwd_key)
|
||||
|
||||
if not isinstance(keyword_data_ids, (list, set)):
|
||||
keyword_data_ids = set()
|
||||
@@ -3898,7 +3900,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
continue
|
||||
keyword_data_ids |= matches
|
||||
|
||||
keyword_pkg[self.reponame+kwd_key] = keyword_data_ids
|
||||
keyword_pkg[self.name+kwd_key] = keyword_data_ids
|
||||
|
||||
if package_id in keyword_data_ids:
|
||||
|
||||
@@ -3909,7 +3911,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
plg_id = self.__cs_plugin_id
|
||||
cl_data = self._settings[plg_id]
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
|
||||
except KeyError: # system settings client plugin not found
|
||||
@@ -3930,7 +3932,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
return
|
||||
# let's see if something is available in repository config
|
||||
repo_keywords = cl_data['repositories']['repos_keywords'].get(
|
||||
self.reponame)
|
||||
self.name)
|
||||
if repo_keywords is None:
|
||||
# nopers, sorry!
|
||||
return
|
||||
@@ -3941,7 +3943,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
# universal keyword matches!
|
||||
myr = mask_ref['repository_packages_db_keywords']
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
return package_id, myr
|
||||
|
||||
@@ -3978,7 +3980,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
# found! this pkg is not masked, yay!
|
||||
myr = mask_ref['repository_packages_db_keywords']
|
||||
validator_cache = cl_data['masking_validation']['cache']
|
||||
validator_cache[(package_id, self.reponame, live)] = \
|
||||
validator_cache[(package_id, self.name, live)] = \
|
||||
package_id, myr
|
||||
return package_id, myr
|
||||
|
||||
@@ -4005,7 +4007,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
validator_cache = {} # fake
|
||||
|
||||
if validator_cache:
|
||||
cached = validator_cache.get((package_id, self.reponame, live))
|
||||
cached = validator_cache.get((package_id, self.name, live))
|
||||
if cached is not None:
|
||||
return cached
|
||||
|
||||
@@ -4056,7 +4058,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
|
||||
# holy crap, can't validate
|
||||
myr = self._settings['pkg_masking_reference']['completely_masked']
|
||||
validator_cache[(package_id, self.reponame, live)] = -1, myr
|
||||
validator_cache[(package_id, self.name, live)] = -1, myr
|
||||
push_cache(package_id, live, data)
|
||||
return -1, myr
|
||||
|
||||
@@ -4510,7 +4512,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
if pkgcmp is None:
|
||||
warnings.warn("WARNING, invalid version string " + \
|
||||
"stored in %s: %s <-> %s" % (
|
||||
self.reponame, pkgversion, dbver,)
|
||||
self.name, pkgversion, dbver,)
|
||||
)
|
||||
continue
|
||||
|
||||
@@ -4573,7 +4575,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
ck_sum = self.checksum(strict = False)
|
||||
hash_str = self.__atomMatch_gen_hash_str(args)
|
||||
cached = entropy.dump.loadobj("%s/%s/%s_%s" % (
|
||||
self.__db_match_cache_key, self.reponame, ck_sum,
|
||||
self.__db_match_cache_key, self.name, ck_sum,
|
||||
hash(hash_str),))
|
||||
if cached is not None:
|
||||
return cached
|
||||
@@ -4589,7 +4591,7 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object)
|
||||
ck_sum = self.checksum(strict = False)
|
||||
hash_str = self.__atomMatch_gen_hash_str(args)
|
||||
self._cacher.push("%s/%s/%s_%s" % (
|
||||
self.__db_match_cache_key, self.reponame, ck_sum,
|
||||
self.__db_match_cache_key, self.name, ck_sum,
|
||||
hash(hash_str),),
|
||||
kwargs.get('result'), async = False
|
||||
)
|
||||
|
||||
@@ -1277,7 +1277,7 @@ class QAInterface(TextInterface, EntropyPluginStore):
|
||||
dbc = EntropyRepository(
|
||||
readOnly = False,
|
||||
dbFile = tmp_path,
|
||||
dbname = 'qa_testing',
|
||||
name = "qa_testing",
|
||||
xcache = False,
|
||||
indexing = False,
|
||||
skipChecks = False
|
||||
|
||||
@@ -91,7 +91,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
self,)
|
||||
)
|
||||
|
||||
repo = entropy_repository_instance.reponame
|
||||
repo = entropy_repository_instance.name
|
||||
local_dbfile = self._metadata['local_dbfile']
|
||||
taint_file = self._server._get_local_database_taint_file(repo)
|
||||
if os.path.isfile(taint_file):
|
||||
@@ -131,7 +131,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
if self._server.Mirrors is None:
|
||||
return 0
|
||||
|
||||
repo = entropy_repository_instance.reponame
|
||||
repo = entropy_repository_instance.name
|
||||
dbfile = self._metadata['local_dbfile']
|
||||
read_only = self._metadata['read_only']
|
||||
if not read_only:
|
||||
@@ -159,7 +159,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
|
||||
dbs = ServerRepositoryStatus()
|
||||
dbfile = self._metadata['local_dbfile']
|
||||
repo = entropy_repository_instance.reponame
|
||||
repo = entropy_repository_instance.name
|
||||
read_only = self._metadata['read_only']
|
||||
if read_only:
|
||||
# do not taint database
|
||||
@@ -249,7 +249,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
def _write_rss_for_removed_package(self, repo_db, package_id):
|
||||
|
||||
# setup variables we're going to use
|
||||
srv_repo = repo_db.reponame
|
||||
srv_repo = repo_db.name
|
||||
rss_revision = repo_db.retrieveRevision(package_id)
|
||||
rss_atom = "%s~%s" % (repo_db.retrieveAtom(package_id), rss_revision,)
|
||||
status = ServerRepositoryStatus()
|
||||
@@ -294,7 +294,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
def _write_rss_for_added_package(self, repo_db, package_data):
|
||||
|
||||
# setup variables we're going to use
|
||||
srv_repo = repo_db.reponame
|
||||
srv_repo = repo_db.name
|
||||
rss_atom = "%s~%s" % (package_data['atom'], package_data['revision'],)
|
||||
status = ServerRepositoryStatus()
|
||||
srv_updates = status.get_updates_log(srv_repo)
|
||||
@@ -3919,7 +3919,7 @@ class ServerRepositoryMixin:
|
||||
conn = ServerPackagesRepository(
|
||||
readOnly = False,
|
||||
dbFile = temp_file,
|
||||
dbname = repo,
|
||||
name = repo,
|
||||
xcache = False,
|
||||
indexing = False,
|
||||
skipChecks = True,
|
||||
@@ -4001,10 +4001,10 @@ class ServerRepositoryMixin:
|
||||
conn = ServerPackagesRepository(
|
||||
readOnly = read_only,
|
||||
dbFile = local_dbfile,
|
||||
dbname = repo,
|
||||
name = repo,
|
||||
xcache = False # always set to False, if you want to enable
|
||||
# you need to make sure that client-side and server-side caches
|
||||
# don't collide due to sharing ServerPackagesRepository.reponame
|
||||
# don't collide due to sharing ServerPackagesRepository.name
|
||||
)
|
||||
etp_repo_meta = {
|
||||
'lock_remote': lock_remote,
|
||||
|
||||
@@ -29,7 +29,7 @@ class EntropyRepositoryTest(unittest.TestCase):
|
||||
repo_validation = False)
|
||||
# fake clientDbconn
|
||||
self.Client._installed_repository = self.Client.open_temp_repository(
|
||||
dbname = etpConst['clientdbid'], temp_file = ":memory:")
|
||||
name = etpConst['clientdbid'], temp_file = ":memory:")
|
||||
# as per GenericRepository specifications, enable generic handlePackage
|
||||
self.Client._installed_repository.override_handlePackage = True
|
||||
self.Spm = self.Client.Spm()
|
||||
|
||||
@@ -52,7 +52,7 @@ class EntropyRepositoryTest(unittest.TestCase):
|
||||
self.Client.shutdown()
|
||||
|
||||
def __open_test_db(self, tmp_path):
|
||||
return self.Client.open_temp_repository(dbname = self.test_db_name,
|
||||
return self.Client.open_temp_repository(name = self.test_db_name,
|
||||
temp_file = tmp_path)
|
||||
|
||||
def test_db_clearcache(self):
|
||||
@@ -166,7 +166,7 @@ class EntropyRepositoryTest(unittest.TestCase):
|
||||
|
||||
def test_db_creation(self):
|
||||
self.assert_(isinstance(self.test_db, EntropyRepository))
|
||||
self.assertEqual(self.test_db_name, self.test_db.reponame)
|
||||
self.assertEqual(self.test_db_name, self.test_db.name)
|
||||
self.assert_(self.test_db._doesTableExist('baseinfo'))
|
||||
self.assert_(self.test_db._doesTableExist('extrainfo'))
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ class DepTest(unittest.TestCase):
|
||||
from entropy.client.interfaces import Client
|
||||
client = Client(noclientdb = 2, indexing = False, xcache = False,
|
||||
repo_validation = False)
|
||||
db = client.open_temp_repository(dbname = "parser_test",
|
||||
db = client.open_temp_repository(name = "parser_test",
|
||||
temp_file = ":memory:")
|
||||
client.destroy()
|
||||
client.shutdown()
|
||||
|
||||
Reference in New Issue
Block a user