[entropy.db] complete API docstring and refactoring work

This commit is contained in:
Fabio Erculiani
2009-08-15 22:27:41 +02:00
parent ec3e35ed54
commit 89062bf8f3
18 changed files with 1207 additions and 1262 deletions
+3 -1
View File
@@ -705,8 +705,10 @@ def search_removal_dependencies(atoms, deep = False, Equo = None):
print_generic(rematom)
continue
installedfrom = clientDbconn.retrievePackageFromInstalledTable(
installedfrom = clientDbconn.getInstalledPackageRepository(
idpackage)
if installedfrom is None:
installedfrom = _("Not available")
repo_info = bold("[") + red("%s: " % (_("from"),)) + \
brown(installedfrom)+bold("]")
stratomscounter = str(atomscounter)
+12 -8
View File
@@ -174,7 +174,7 @@ def database(options):
pass
idpk, rev, xx = Equo.clientDbconn.addPackage(mydata, revision = mydata['revision'])
Equo.clientDbconn.addPackageToInstalledTable(idpk,"gentoo-db")
Equo.clientDbconn.storeInstalledPackage(idpk,"gentoo-db")
os.remove(temptbz2)
print_info(red(" %s." % (_("All the Gentoo packages have been injected into Entropy database"),) ))
@@ -212,7 +212,7 @@ def database(options):
Equo.clientDbconn.removePackage(myidpackage)
print_info(red(" %s..." % (_("Now generating depends caching table"),) ))
Equo.clientDbconn.regenerateDependsTable()
Equo.clientDbconn.regenerateReverseDependenciesMetadata()
print_info(red(" %s...") % (_("Now indexing tables"),) )
Equo.clientDbconn.indexing = True
Equo.clientDbconn.createAllIndexes()
@@ -220,7 +220,11 @@ def database(options):
return 0
elif (options[0] == "check"):
if Equo.clientDbconn.doesTableExist("baseinfo"):
try:
valid = Equo.clientDbconn.validateDatabase()
except SystemDatabaseError:
valid = False
if valid:
Equo.client_repository_sanity_check()
else:
mytxt = "# %s: %s" % (bold(_("ATTENTION")),red(_("database does not exist or is badly broken")),)
@@ -372,7 +376,7 @@ def database(options):
print_info(red(" %s." % (_("Database resurrected successfully"),)))
print_info(red(" %s..." % (_("Now generating depends caching table"),)))
Equo.clientDbconn.regenerateDependsTable()
Equo.clientDbconn.regenerateReverseDependenciesMetadata()
print_info(red(" %s..." % (_("Now indexing tables"),)))
Equo.clientDbconn.indexing = True
Equo.clientDbconn.createAllIndexes()
@@ -388,7 +392,7 @@ def database(options):
return rc
print_info(red(" %s..." % (_("Regenerating depends caching table"),) ))
Equo.clientDbconn.regenerateDependsTable()
Equo.clientDbconn.regenerateReverseDependenciesMetadata()
print_info(red(" %s." % (_("Depends caching table regenerated successfully"),) ))
return 0
@@ -403,7 +407,7 @@ def database(options):
return rc
print_info(red(" %s..." % (_("Regenerating counters table"),) ))
Equo.clientDbconn.regenerateCountersTable(Spm.get_vdb_path(), output = True)
Equo.clientDbconn.regenerateSpmUidTable(verbose = True)
print_info(red(" %s" % (_("Counters table regenerated. Look above for errors."),) ))
return 0
@@ -606,8 +610,8 @@ def database(options):
mydata['revision'] = 9999 # can't do much more
idpk, rev, xx = Equo.clientDbconn.handlePackage(mydata, forcedRevision = mydata['revision'])
Equo.clientDbconn.removePackageFromInstalledTable(idpk)
Equo.clientDbconn.addPackageToInstalledTable(idpk,"gentoo-db")
Equo.clientDbconn.dropInstalledPackageFromStore(idpk)
Equo.clientDbconn.storeInstalledPackage(idpk,"gentoo-db")
os.remove(temptbz2)
print_info(brown(" @@ ")+blue("%s." % (_("Database update completed"),)))
+1 -2
View File
@@ -310,7 +310,6 @@ def smartpackagegenerator(matchedPackages):
dbfile = unpackdir+"/db/merged.db"
mergeDbconn = Equo.open_generic_database(dbfile, dbname = "client")
mergeDbconn.initializeDatabase()
mergeDbconn.createXpakTable()
tmpdbfile = dbfile+"--readingdata"
for package in matchedPackages:
print_info(darkgreen(" * ")+brown(matchedAtoms[package]['atom'])+": "+red(_("collecting Entropy metadata")))
@@ -329,7 +328,7 @@ def smartpackagegenerator(matchedPackages):
# add
idpk, rev, y = mergeDbconn.handlePackage(data, forcedRevision = matchedAtoms[package]['revision']) # get the original rev
del y
mergeDbconn.storeXpakMetadata(idpk,xpakdata)
mergeDbconn.storeXpakMetadata(idpk, xpakdata)
mydbconn.closeDB()
os.remove(tmpdbfile)
+1 -1
View File
@@ -496,7 +496,7 @@ def ugcDocuments(options):
continue
doc_data = doc_data[0]
data, err_msg = Equo.UGC.remove_document_autosense(repository, identifier, doc_data['iddoctype'])
if data == False:
if data is False:
print_error(
"[%s:%s] %s: %s, %s" % (
darkgreen(repository),
+19 -7
View File
@@ -372,7 +372,7 @@ def branchHop(branch):
if status:
Equo.clientDbconn.moveCountersToBranch(branch)
Equo.clientDbconn.moveSpmUidsToBranch(branch)
# remove old repos
for repo_path in old_repo_paths:
@@ -533,7 +533,9 @@ def _showPackageInfo(foundAtoms, deps):
idx = pkginstalled[0]
installedVer = Equo.clientDbconn.retrieveVersion(idx)
installedTag = Equo.clientDbconn.retrieveVersionTag(idx)
installedRepo = Equo.clientDbconn.retrievePackageFromInstalledTable(idx)
installedRepo = Equo.clientDbconn.getInstalledPackageRepository(idx)
if installedRepo is None:
installedRepo = _("Not available")
if not installedTag:
installedTag = "NoTag"
installedRev = Equo.clientDbconn.retrieveRevision(idx)
@@ -827,7 +829,9 @@ def installPackages(packages = [], atomsdata = [], deps = True, emptydeps = Fals
installedVer = Equo.clientDbconn.retrieveVersion(idx)
installedTag = Equo.clientDbconn.retrieveVersionTag(idx)
installedRev = Equo.clientDbconn.retrieveRevision(idx)
installedRepo = Equo.clientDbconn.retrievePackageFromInstalledTable(idx)
installedRepo = Equo.clientDbconn.getInstalledPackageRepository(idx)
if installedRepo is None:
installedRepo = _("Not available")
onDiskFreedSize += Equo.clientDbconn.retrieveOnDiskSize(idx)
if not (etpUi['ask'] or etpUi['pretend'] or etpUi['verbose']):
@@ -897,7 +901,9 @@ def installPackages(packages = [], atomsdata = [], deps = True, emptydeps = Fals
if not pkgatom:
continue
onDiskFreedSize += Equo.clientDbconn.retrieveOnDiskSize(idpackage)
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(idpackage)
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(idpackage)
if installedfrom is None:
installedfrom = _("Not available")
repoinfo = red("[")+brown("%s: " % (_("from"),) )+bold(installedfrom)+red("] ")
print_info(red(" ## ")+"["+red("W")+"] "+repoinfo+enlightenatom(pkgatom))
@@ -1281,7 +1287,9 @@ def configurePackages(packages = []):
pkgatom = Equo.clientDbconn.retrieveAtom(idpackage)
if not pkgatom: continue
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(idpackage)
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(idpackage)
if installedfrom is None:
installedfrom = _("Not available")
mytxt = " | %s: " % (_("Installed from"),)
print_info(" # "+red("(")+brown(str(atomscounter))+"/"+blue(str(totalatoms))+red(")")+" "+enlightenatom(pkgatom)+mytxt+red(installedfrom))
@@ -1402,8 +1410,10 @@ def removePackages(packages = [], atomsdata = [], deps = True, deep = False,
plainRemovalQueue.append(idpackage)
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(
idpackage)
if installedfrom is None:
installedfrom = _("Not available")
disksize = Equo.clientDbconn.retrieveOnDiskSize(idpackage)
disksize = Equo.entropyTools.bytes_into_human(disksize)
disksizeinfo = " | %s: %s" % (blue(_("Disk size")),
@@ -1452,7 +1462,9 @@ def removePackages(packages = [], atomsdata = [], deps = True, deep = False,
rematom = Equo.clientDbconn.retrieveAtom(idpackage)
if not rematom:
continue
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(idpackage)
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(idpackage)
if installedfrom is None:
installedfrom = _("Not available")
disksize = Equo.clientDbconn.retrieveOnDiskSize(idpackage)
disksize = Equo.entropyTools.bytes_into_human(disksize)
repositoryInfo = bold("[")+darkgreen("%s:" % (_("from"),) )+brown(installedfrom)+bold("]")
+1 -1
View File
@@ -157,7 +157,7 @@ class CacheMixin:
except (RepositoryError):
continue # repo not available
try:
sum_hashes += dbconn.database_checksum()
sum_hashes += dbconn.checksum()
except self.dbapi2.OperationalError:
pass
return sum_hashes
+21 -22
View File
@@ -195,7 +195,7 @@ class CalculatorsMixin:
return dbconn
def atom_match(self, atom, caseSensitive = True, matchSlot = None,
matchBranches = (), matchTag = None, packagesFilter = True,
matchTag = None, packagesFilter = True,
multiMatch = False, multiRepo = False, matchRevision = None,
matchRepo = None, server_repos = [], serverInstance = None,
extendedResults = False, useCache = True):
@@ -207,23 +207,25 @@ class CalculatorsMixin:
matchRepo = repos
u_hash = ""
m_hash = ""
k_ms = "//"
k_mt = "@#@"
k_mr = "-1"
if isinstance(matchRepo,(list,tuple,set,)): u_hash = hash(frozenset(matchRepo))
if isinstance(matchBranches,(list,tuple,set,)): m_hash = hash(frozenset(matchBranches))
if isinstance(matchSlot,basestring): k_ms = matchSlot
if isinstance(matchTag,basestring): k_mt = matchTag
if isinstance(matchRevision,basestring): k_mr = matchRevision
if isinstance(matchRepo,(list,tuple,set,)):
u_hash = hash(frozenset(matchRepo))
if isinstance(matchSlot,basestring):
k_ms = matchSlot
if isinstance(matchTag,basestring):
k_mt = matchTag
if isinstance(matchRevision,basestring):
k_mr = matchRevision
c_hash = "|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % (
c_hash = "|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % (
atom,k_ms,k_mt,hash(packagesFilter),
hash(frozenset(self.validRepositories)),
hash(frozenset(self.SystemSettings['repositories']['available'])),
hash(multiMatch),hash(multiRepo),hash(caseSensitive),
k_mr,hash(extendedResults),
u_hash, m_hash
u_hash,
)
c_hash = "%s%s" % (self.atomMatchCacheKey,hash(c_hash),)
@@ -259,7 +261,6 @@ class CalculatorsMixin:
atom,
caseSensitive = caseSensitive,
matchSlot = matchSlot,
matchBranches = matchBranches,
matchTag = matchTag,
packagesFilter = packagesFilter,
matchRevision = matchRevision,
@@ -315,7 +316,6 @@ class CalculatorsMixin:
atom,
caseSensitive = caseSensitive,
matchSlot = matchSlot,
matchBranches = matchBranches,
matchTag = matchTag,
packagesFilter = packagesFilter,
multiMatch = True,
@@ -330,15 +330,14 @@ class CalculatorsMixin:
else:
dbconn = self.__atom_match_open_db(dbpkginfo[1], serverInstance)
query_data, query_rc = dbconn.atomMatch(
atom,
caseSensitive = caseSensitive,
matchSlot = matchSlot,
matchBranches = matchBranches,
matchTag = matchTag,
packagesFilter = packagesFilter,
multiMatch = True,
extendedResults = extendedResults
)
atom,
caseSensitive = caseSensitive,
matchSlot = matchSlot,
matchTag = matchTag,
packagesFilter = packagesFilter,
multiMatch = True,
extendedResults = extendedResults
)
if extendedResults:
dbpkginfo = (set([((x[0],x[2],x[3],x[4]),dbpkginfo[1]) for x in query_data]),0)
else:
@@ -490,7 +489,7 @@ class CalculatorsMixin:
if self.xcache:
c_data = sorted(dependencies)
client_checksum = self.clientDbconn.database_checksum()
client_checksum = self.clientDbconn.checksum()
c_hash = hash("%s|%s|%s" % (c_data,deep_deps,client_checksum,))
c_hash = "%s%s" % (etpCache['filter_satisfied_deps'],c_hash,)
cached = self.Cacher.pop(c_hash)
@@ -1236,7 +1235,7 @@ class CalculatorsMixin:
hash(frozenset(sorted(matched_atoms))),
empty_deps,
deep_deps,
self.clientDbconn.database_checksum(),
self.clientDbconn.checksum(),
# needed when users do bogus things like editing config files
# manually (branch setting)
self.SystemSettings['repositories']['branch'],
+13 -13
View File
@@ -404,7 +404,6 @@ class RepositoryMixin:
def add_tbz2_to_repos(self, tbz2file):
atoms_contained = []
basefile = os.path.basename(tbz2file)
cut_idx = -1*(len(etpConst['packagesext']))
db_dir = tempfile.mkdtemp()
dbfile = self.entropyTools.extract_edb(tbz2file,
dbpath = db_dir+"/packages.db")
@@ -727,8 +726,6 @@ class RepositoryMixin:
"run_repositories_post_branch_switch_hooks: clientdb not avail")
return hooks_ran, True
from datetime import datetime
place_status_file = set()
errors = False
repo_data = self.SystemSettings['repositories']['available']
repo_data_excl = self.SystemSettings['repositories']['available']
@@ -991,7 +988,7 @@ class MiscMixin:
# check if another instance is running
etpConst['applicationlock'] = False
const_setup_entropy_pid(just_read = True)
locked = self.entropyTools.application_lock_check(option = None, gentle = True)
locked = self.entropyTools.application_lock_check(gentle = True)
if locked:
if not silent:
self.updateProgress(
@@ -1066,10 +1063,10 @@ class MiscMixin:
return const_set_nice_level(low)
def reload_repositories_config(self, repositories = None):
if repositories == None:
if repositories is None:
repositories = self.validRepositories
for repoid in repositories:
dbconn = self.open_repository(repoid)
self.open_repository(repoid)
def switch_chroot(self, chroot = ""):
# clean caches
@@ -1269,19 +1266,23 @@ class MiscMixin:
self.Cacher.start()
def get_meant_packages(self, search_term, from_installed = False,
valid_repos = []):
valid_repos = None):
if valid_repos is None:
valid_repos = []
pkg_data = []
atom_srch = False
if "/" in search_term:
atom_srch = True
if not valid_repos:
valid_repos = self.validRepositories
if from_installed:
valid_repos = []
if hasattr(self,'clientDbconn'):
valid_repos.append(self.clientDbconn)
if hasattr(self, 'clientDbconn'):
if self.clientDbconn is not None:
valid_repos.append(self.clientDbconn)
elif not valid_repos:
valid_repos.extend(self.validRepositories[:])
for repo in valid_repos:
if isinstance(repo, basestring):
@@ -1425,7 +1426,6 @@ class MiscMixin:
def quickpkg_handler(self, pkgdata, dirpath, edb = True,
portdbPath = None, fake = False, compression = "bz2", shiftpath = ""):
import stat
import tarfile
if compression not in ("bz2","","gz"):
@@ -1022,8 +1022,8 @@ class Package:
self.Entropy.clientDbconn.setCreationDate(idpackage, str(ctime))
# add idpk to the installedtable
self.Entropy.clientDbconn.removePackageFromInstalledTable(idpackage)
self.Entropy.clientDbconn.addPackageToInstalledTable(idpackage,
self.Entropy.clientDbconn.dropInstalledPackageFromStore(idpackage)
self.Entropy.clientDbconn.storeInstalledPackage(idpackage,
self.infoDict['repository'], self.infoDict['install_source'])
automerge_data = self.infoDict.get('configprotect_data')
@@ -1033,7 +1033,7 @@ class Package:
# clear depends table, this will make clientdb dependstable to be
# regenerated during the next request (retrieveReverseDependencies)
self.Entropy.clientDbconn.clearDependsTable()
self.Entropy.clientDbconn.taintReverseDependenciesMetadata()
return idpackage
def __fill_image_dir(self, mergeFrom, imageDir):
@@ -1094,7 +1094,6 @@ class Package:
def __move_image_to_system(self, already_protected_config_files):
# load CONFIG_PROTECT and its mask
repoid = self.infoDict['repository']
protect = self.Entropy.get_package_match_config_protect(
self.matched_atom)
mask = self.Entropy.get_package_match_config_protect(
@@ -72,11 +72,6 @@ class UGCErrorReportInterface(ErrorReportInterface):
@return submission status -- bool
"""
def convert_to_str(el):
if not isinstance(el, basestring):
el = str(el)
return el
if self.generated:
done, err_msg = self.entropy.UGC.report_error(self.__repository_id,
self.params)
@@ -893,7 +893,7 @@ class Repository:
mydbconn.clearCache()
# now verify if both checksums match
result = False
mychecksum = mydbconn.database_checksum(do_order = True,
mychecksum = mydbconn.checksum(do_order = True,
strict = False, strings = True)
if checksum == mychecksum:
result = True
@@ -1051,7 +1051,7 @@ class Repository:
if (do_db_update_transfer is not None) and not \
do_db_update_transfer:
if os.access(dbfile, os.R_OK | os.R_OK | os.F_OK):
if os.access(dbfile, os.R_OK | os.W_OK | os.F_OK):
try:
os.rename(dbfile, dbfile_old)
do_db_update_transfer = True
+1105 -1172
View File
File diff suppressed because it is too large Load Diff
+15 -15
View File
@@ -289,7 +289,6 @@ class Server(Singleton, TextInterface):
raise PermissionDenied("PermissionDenied: %s" % (mytxt,))
# settings
from entropy.misc import LogFile
self.SystemSettings = SystemSettings()
self.community_repo = community_repo
from entropy.db import dbapi2
@@ -475,7 +474,6 @@ class Server(Singleton, TextInterface):
def setup_entropy_settings(self, repo = None):
srv_set = self.SystemSettings[self.sys_settings_plugin_id]['server']
curr_repoid = srv_set['default_repository_id']
backup_list = [
'etpdatabaseclientfilepath',
'clientdbid',
@@ -800,7 +798,6 @@ class Server(Singleton, TextInterface):
if mirrors is None:
mirrors = []
product = self.SystemSettings['repositories']['product']
dbc = self.open_memory_database(dbname = etpConst['serverdbid']+repoid)
self._memory_db_instances[repoid] = dbc
@@ -1427,7 +1424,7 @@ class Server(Singleton, TextInterface):
def depends_table_initialize(self, repo = None):
dbconn = self.open_server_repository(read_only = False,
no_upload = True, repo = repo)
dbconn.regenerateDependsTable()
dbconn.regenerateReverseDependenciesMetadata()
dbconn.taintDatabase()
dbconn.commitChanges()
@@ -1756,7 +1753,6 @@ class Server(Singleton, TextInterface):
)
return False
tmp_db_path = self.entropyTools.get_random_temp_file()
for from_branch in sorted(mapped_branches):
self.updateProgress(
@@ -1969,7 +1965,7 @@ class Server(Singleton, TextInterface):
darkred(to_repo),
brown(branch),
bold(_("cannot switch, package not found, skipping")),
darkgreen(),
darkgreen(match_atom),
red(from_file),
),
importance = 1,
@@ -2143,8 +2139,8 @@ class Server(Singleton, TextInterface):
dbconn.setTrashedUid(mycounter)
# add package info to our current server repository
dbconn.removePackageFromInstalledTable(idpackage)
dbconn.addPackageToInstalledTable(idpackage, repo)
dbconn.dropInstalledPackageFromStore(idpackage)
dbconn.storeInstalledPackage(idpackage, repo)
atom = dbconn.retrieveAtom(idpackage)
self.updateProgress(
@@ -2784,7 +2780,6 @@ class Server(Singleton, TextInterface):
exp_based_scope = my_settings['exp_based_scope']
server_repos = my_settings['repositories'].keys()
exp_pkgs_cache = {}
# packages to be added
for spm_atom, spm_counter in installed_packages:
@@ -2963,20 +2958,25 @@ class Server(Singleton, TextInterface):
dbconn = self.open_server_repository(read_only = True,
no_upload = True, repo = repo, warnings = warnings)
if dbconn.doesTableExist("baseinfo") and \
dbconn.doesTableExist("extrainfo"):
try:
dbconn.validateDatabase()
idpackages = dbconn.listAllIdpackages()
except SystemDatabaseError:
pass
if dbconn.doesTableExist("treeupdatesactions"):
try:
treeupdates_actions = dbconn.listAllTreeUpdatesActions()
except dbconn.dbapi2.Error:
pass
# save list of injected packages
if dbconn.doesTableExist("injected") and \
dbconn.doesTableExist("extrainfo"):
try:
injected_packages = dbconn.listAllInjectedPackages(
just_files = True)
injected_packages = set([os.path.basename(x) for x \
in injected_packages])
except dbconn.dbapi2.Error:
pass
for idpackage in idpackages:
url = dbconn.retrieveDownloadURL(idpackage)
@@ -3847,7 +3847,7 @@ class Server(Singleton, TextInterface):
dbconn.commitChanges()
# now migrate counters
dbconn.moveCountersToBranch(to_branch, from_branch = from_branch)
dbconn.moveSpmUidsToBranch(to_branch, from_branch = from_branch)
self.close_server_database(dbconn)
mytxt = blue("%s.") % (_("migration loop completed"),)
@@ -204,7 +204,7 @@ class Server(SocketHost):
mydb = self.open_db(mydbpath, docache = False)
mydb.createAllIndexes()
self.updateProgress(
darkgreen(str(mydb.database_checksum(do_order = True, strict = False, strings = True))),
darkgreen(str(mydb.checksum(do_order = True, strict = False, strings = True))),
importance = 1,
type = "info"
)
+2 -3
View File
@@ -428,7 +428,7 @@ def ebeep(count = 5):
os.system("sleep 0.35; echo -ne \"\a\"; sleep 0.35")
mycount -= 1
def application_lock_check(option = None, gentle = False):
def application_lock_check(gentle = False):
if etpConst['applicationlock']:
if not gentle:
raise SystemExit(10)
@@ -446,7 +446,6 @@ def split_indexable_into_chunks(mystr, chunk_len):
chunks = []
my = mystr[:]
mylen = len(my)
mycount = 0
while mylen:
chunk = my[:chunk_len]
chunks.append(chunk)
@@ -2111,7 +2110,7 @@ def uncompress_tar_bz2(filepath, extractPath = None, catchEmpty = False):
tar.chown(tarinfo, epath)
fix_uid_gid(tarinfo, epath)
tar.utime(tarinfo, epath)
mode = tarinfo.mode
# mode = tarinfo.mode
# xorg-server /usr/bin/X symlink of /usr/bin/Xorg
# which is setuid. Symlinks don't need chmod. PERIOD!
if not os.path.islink(epath):
+2 -2
View File
@@ -39,8 +39,8 @@ 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.dbname)
self.assert_(self.test_db.doesTableExist('baseinfo'))
self.assert_(self.test_db.doesTableExist('extrainfo'))
self.assert_(self.test_db._doesTableExist('baseinfo'))
self.assert_(self.test_db._doesTableExist('extrainfo'))
def test_db_contentdiff(self):
+2 -2
View File
@@ -326,7 +326,7 @@ class UpdatesDaemon(dbus.service.Object):
_("updates available."),),
urgency = 'critical'
)
self.__system_db_hash = entropy.clientDbconn.database_checksum(
self.__system_db_hash = entropy.clientDbconn.checksum(
do_order = True, strict = False)
self.__updates = update[:]
del self.__updates_atoms[:]
@@ -384,7 +384,7 @@ class UpdatesDaemon(dbus.service.Object):
def get_updates(self):
entropy = Entropy()
curr_hash = entropy.clientDbconn.database_checksum(
curr_hash = entropy.clientDbconn.checksum(
do_order = True, strict = False)
if curr_hash == self.__system_db_hash:
return self.__updates
+4 -1
View File
@@ -238,7 +238,10 @@ class EntropyPackage:
return ' '.join([x for x in sorted(self.set_from)])
if self.matched_atom[1] == 0:
return self.dbconn.retrievePackageFromInstalledTable(self.matched_id)
repoid = self.dbconn.getInstalledPackageRepository(
self.matched_id)
if repoid is None:
repoid = _("Not available")
else: return self.matched_repo
def get_idpackage(self):