[entropy.db] EntropyRepository, EntropyRepositoryBase: only return package_id from addPackage() and handlePackage()

This commit is contained in:
Fabio Erculiani
2011-03-04 21:14:12 +01:00
parent a416806047
commit 53a871ef0d
13 changed files with 84 additions and 85 deletions
+1 -1
View File
@@ -291,7 +291,7 @@ def _merge_repository(entropy_client, repo_ids, remove_conflicts = False):
for target_pkg_id in target_pkg_ids:
dest_db.removePackage(target_pkg_id, do_cleanup = False,
do_commit = False)
dest_pkg_id, dest_rev, dest_data = dest_db.addPackage(pkg_meta,
dest_pkg_id = dest_db.addPackage(pkg_meta,
do_commit = False, formatted_content = True)
# store source package repository so that package file will
# be fetched from the original location
+2 -2
View File
@@ -580,7 +580,7 @@ def _database_spmsync(entropy_client):
mydata['revision'] = \
entropy_client.installed_repository().retrieveRevision(oldidpackage)
idpk, rev, xx = entropy_client.installed_repository().handlePackage(mydata,
idpk = entropy_client.installed_repository().handlePackage(mydata,
forcedRevision = mydata['revision'])
entropy_client.installed_repository().dropInstalledPackageFromStore(idpk)
entropy_client.installed_repository().storeInstalledPackage(idpk, "spm-db")
@@ -703,7 +703,7 @@ def _database_generate(entropy_client):
saved_rev = saved_rev
mydata['revision'] = saved_rev
idpk, rev, xx = entropy_client.installed_repository().addPackage(mydata,
idpk = entropy_client.installed_repository().addPackage(mydata,
revision = mydata['revision'], do_commit = False)
entropy_client.installed_repository().storeInstalledPackage(idpk, "spm-db")
os.remove(temp_pkg_path)
+2 -4
View File
@@ -249,8 +249,7 @@ def inflate_handler(entropy_client, mytbz2s, savedir):
# create
mydbconn = entropy_client.open_generic_repository(dbpath)
mydbconn.initializeRepository()
idpackage, yyy, xxx = mydbconn.addPackage(mydata, revision = mydata['revision'])
del yyy, xxx
idpackage = mydbconn.addPackage(mydata, revision = mydata['revision'])
mydbconn.close()
entropy.tools.aggregate_entropy_metadata(etptbz2path, dbpath)
os.remove(dbpath)
@@ -391,8 +390,7 @@ def smartpackagegenerator(entropy_client, matched_pkgs):
else:
xpakdata = mydbconn.retrieveSpmMetadata(myidpackage) # already a smart package
# add
idpk, rev, y = mergeDbconn.handlePackage(data, forcedRevision = matchedAtoms[package]['revision']) # get the original rev
del y
idpk = mergeDbconn.handlePackage(data, forcedRevision = matchedAtoms[package]['revision']) # get the original rev
if xpakdata is not None:
mergeDbconn.storeSpmMetadata(idpk, xpakdata)
mydbconn.close()
@@ -1958,7 +1958,7 @@ class Package:
inst_repo = self._entropy.installed_repository()
idpackage, rev, x = inst_repo.handlePackage(data,
idpackage = inst_repo.handlePackage(data,
forcedRevision = data['revision'], formattedContent = True)
# update datecreation
+1 -1
View File
@@ -1058,7 +1058,7 @@ class EntropyRepository(EntropyRepositoryBase):
package_id = package_id, do_commit = do_commit,
formatted_content = formatted_content)
return package_id, revision, pkg_data
return package_id
def removePackage(self, package_id, do_cleanup = True, do_commit = True,
from_add_package = False):
+4 -10
View File
@@ -658,11 +658,8 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore):
@keyword formattedContent: tells whether content metadata is already
formatted for insertion
@type formattedContent: bool
@return: tuple composed by
- package_id: unique Entropy Repository package identifier
- revision: final package revision selected
- pkg_data: new Entropy package metadata dict
@rtype: tuple
@return: package identifier
@rtype: int
"""
raise NotImplementedError()
@@ -756,11 +753,8 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore):
metadata (usually the biggest part) in pkg_data is already
prepared for insertion
@type formatted_content: bool
@return: tuple composed by
- package_id: unique Entropy Repository package identifier
- revision: final package revision selected
- pkg_data: new Entropy package metadata dict
@rtype: tuple
@return: new package identifier
@rtype: int
"""
plugins = self.get_plugins()
for plugin_id in sorted(plugins):
+5 -6
View File
@@ -2405,7 +2405,7 @@ class Server(Client):
header = red(" @@ "),
back = True
)
new_idpackage, new_revision, new_data = todbconn.handlePackage(data)
new_idpackage = todbconn.handlePackage(data)
del data
todbconn.commit()
todbconn.storeInstalledPackage(new_idpackage, to_repository_id)
@@ -4367,7 +4367,8 @@ class Server(Client):
restricted_callback = _package_injector_check_restricted)
self._pump_extracted_package_metadata(mydata, repository_id,
{'injected': inject,})
idpackage, revision, mydata = dbconn.handlePackage(mydata)
idpackage = dbconn.handlePackage(mydata)
revision = dbconn.retrieveRevision(idpackage)
# make sure that info have been written to disk
dbconn.commit()
@@ -4567,7 +4568,7 @@ class Server(Client):
# also bump injected packages properly
original_injected = pkg_data['injected']
pkg_data['injected'] = False
pkg_id, revision, pkg_data = dbconn.handlePackage(pkg_data)
pkg_id = dbconn.handlePackage(pkg_data)
if original_injected:
dbconn.setInjected(pkg_id)
# make sure that info have been written to disk
@@ -5099,9 +5100,7 @@ class Server(Client):
# to a temp repo
tmp_repo = self._open_temp_repository("dep_rewrite_temp",
temp_file = ":memory:")
new_idpackage, new_revision, new_data = tmp_repo.handlePackage(pkg_meta)
del new_revision
del new_data
new_idpackage = tmp_repo.handlePackage(pkg_meta)
pkg_atom = tmp_repo.retrieveAtom(new_idpackage)
rewrites_enabled = []
+4 -4
View File
@@ -124,8 +124,8 @@ class EntropyRepositoryTest(unittest.TestCase):
self.assertEqual(rc, 0)
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = dbconn.addPackage(data)
self.assertEqual(data, new_data)
idpackage = dbconn.addPackage(data)
self.assertEqual(data, dbconn.getPackageData(idpackage))
cs_data = dbconn.retrieveContentSafety(idpackage)
for path, cs_info in cs_data.items():
real_path = os.path.join(tmp_dir, path.lstrip("/"))
@@ -137,8 +137,8 @@ class EntropyRepositoryTest(unittest.TestCase):
self.mem_repoid, self.mem_repo_desc, temp_file = ":memory:")
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = dbconn.addPackage(data)
self.assertEqual(data, new_data)
idpackage = dbconn.addPackage(data)
self.assertEqual(data, dbconn.getPackageData(idpackage))
self.Client.remove_repository(self.mem_repoid)
self.assertNotEqual(
self.Client._memory_db_instances.get(self.mem_repoid), dbconn)
+42 -43
View File
@@ -84,7 +84,7 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_contentsafety(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(data, db_data)
path = "/usr/include/zconf.h"
@@ -99,7 +99,7 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_needed(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(data, db_data)
db_needed = self.test_db.retrieveNeeded(idpackage, extended = True)
@@ -110,7 +110,7 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_dependencies(self):
test_pkg = _misc.get_test_package3()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(data, db_data)
pkg_deps = self.test_db.retrieveDependencies(idpackage, extended = True)
@@ -122,7 +122,7 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_content(self):
test_pkg = _misc.get_test_package3()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(data, db_data)
content = self.test_db.retrieveContent(idpackage, extended = True)
@@ -182,13 +182,13 @@ class EntropyRepositoryTest(unittest.TestCase):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
data['content'].update(test_entry.copy())
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
test_pkg2 = _misc.get_test_package2()
data2 = self.Spm.extract_package_metadata(test_pkg2)
data2['content'].update(test_entry.copy())
idpackage2, rev2, new_data2 = self.test_db2.addPackage(data2)
idpackage2 = self.test_db2.addPackage(data2)
db_data2 = self.test_db2.getPackageData(idpackage2)
cont_diff = self.test_db.contentDiff(idpackage, self.test_db2,
@@ -255,18 +255,18 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_db_insert_compare_match_provide(self):
test_pkg = _misc.get_test_entropy_package_provide()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
def test_db_cache(self):
test_pkg = _misc.get_test_entropy_package_provide()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
# enable cache
self.test_db._caching = True
key = new_data['category'] + "/" + new_data['name']
key = data['category'] + "/" + data['name']
from entropy.cache import EntropyCacher
cacher = EntropyCacher()
@@ -297,9 +297,9 @@ class EntropyRepositoryTest(unittest.TestCase):
# insert/compare
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
# match
nf_match = (-1, 1)
@@ -329,7 +329,7 @@ class EntropyRepositoryTest(unittest.TestCase):
self.assertNotEqual((-1, 1), self.test_db.atomMatch(pkg_atom))
# now test multimatch
idpackage, rev, new_data = self.test_db.addPackage(db_data)
idpackage = self.test_db.addPackage(db_data)
results, rc = self.test_db.atomMatch(pkg_name, multiMatch = True)
self.assertEqual(2, len(results))
self.assert_(isinstance(results, set))
@@ -359,9 +359,8 @@ class EntropyRepositoryTest(unittest.TestCase):
'mtime': 1024.0,
}
}
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
# match
@@ -396,9 +395,9 @@ class EntropyRepositoryTest(unittest.TestCase):
# insert/compare
test_pkg = _misc.get_test_package3()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
# match
nf_match = (-1, 1)
@@ -432,9 +431,9 @@ class EntropyRepositoryTest(unittest.TestCase):
# insert/compare
test_pkg = _misc.get_test_package4()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
known_mime = set(['application/ogg', 'audio/x-oggflac', 'audio/x-mp3',
'audio/x-pn-realaudio', 'audio/mpeg', 'application/x-ogm-audio',
@@ -477,9 +476,9 @@ class EntropyRepositoryTest(unittest.TestCase):
# insert/compare
test_pkg = _misc.get_test_entropy_package_tag()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
# match
f_match = (1, 0)
@@ -497,9 +496,9 @@ class EntropyRepositoryTest(unittest.TestCase):
data = self.Spm.extract_package_metadata(test_pkg)
def handle_pkg(xdata):
idpackage, rev, new_data = self.test_db.addPackage(xdata)
idpackage = self.test_db.addPackage(xdata)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(xdata, db_data)
t1 = ParallelTask(handle_pkg, data)
t2 = ParallelTask(handle_pkg, data)
@@ -533,13 +532,13 @@ class EntropyRepositoryTest(unittest.TestCase):
data2['dependencies'][_misc.get_test_package_atom()] = \
etpConst['dependency_type_ids']['rdepend_id']
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
idpackage2, rev, new_data2 = self.test_db.addPackage(data2)
idpackage2 = self.test_db.addPackage(data2)
db_data2 = self.test_db.getPackageData(idpackage2)
self.assertEqual(new_data2, db_data2)
self.assertEqual(data2, db_data2)
rev_deps = self.test_db.retrieveReverseDependencies(idpackage)
rev_deps2 = self.test_db.retrieveReverseDependencies(idpackage2)
@@ -556,16 +555,16 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_similar(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
self.assertEqual(new_data, data)
idpackage = self.test_db.addPackage(data)
self.assertEqual(data, self.test_db.getPackageData(idpackage))
out = self.test_db.searchSimilarPackages(_misc.get_test_package_name())
self.assertEqual(out, (1,))
def test_search(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
self.assertEqual(new_data, data)
idpackage = self.test_db.addPackage(data)
self.assertEqual(data, self.test_db.getPackageData(idpackage))
out = self.test_db.searchPackages(_misc.get_test_package_name())
self.assertEqual(out, (('sys-libs/zlib-1.2.3-r1', 1, '5'),))
out = self.test_db.searchPackages(_misc.get_test_package_name(),
@@ -578,28 +577,28 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_list_packages(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
out = self.test_db.listAllPackages()
self.assertEqual(out, (('sys-libs/zlib-1.2.3-r1', 1, '5'),))
def test_spmuids(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
out = self.test_db.listAllSpmUids()
self.assertEqual(out, ((22331, 1),))
def test_list_pkg_ids(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
out = self.test_db.listAllPackageIds(order_by="atom")
self.assertEqual(out, (1,))
def test_list_files(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
out = self.test_db.listAllFiles()
self.assertEqual(out, (
'/lib64/libz.so', '/usr/share/doc/zlib-1.2.3-r1',
@@ -617,22 +616,22 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_list_categories(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
out = self.test_db.listAllCategories()
self.assertEqual(out, frozenset(('sys-libs',)))
def test_list_downloads(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
out = self.test_db.listAllDownloads()
self.assertEqual(out, ('sys-libs:zlib-1.2.3-r1.tbz2',))
def test_search_name(self):
test_pkg = _misc.get_test_package()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = self.test_db.addPackage(data)
self.assertEqual(new_data, data)
idpackage = self.test_db.addPackage(data)
self.assertEqual(self.test_db.getPackageData(idpackage), data)
out = self.test_db.searchName(_misc.get_test_package_name())
self.assertEqual(out, frozenset([('sys-libs/zlib-1.2.3-r1', 1)]))
@@ -652,9 +651,9 @@ class EntropyRepositoryTest(unittest.TestCase):
const_convert_to_unicode(
"#248083).\n\n 06 Feb 2009; Ra\xc3\xbal Porcel"),
}
idpackage, rev, new_data = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
db_data = self.test_db.getPackageData(idpackage)
self.assertEqual(new_data, db_data)
self.assertEqual(data, db_data)
etpUi['mute'] = True
@@ -710,7 +709,7 @@ class EntropyRepositoryTest(unittest.TestCase):
def test_new_entropyrepository_schema(self):
test_pkg = _misc.get_test_package2()
data = self.Spm.extract_package_metadata(test_pkg)
idpackage, xxx, yyy = self.test_db.addPackage(data)
idpackage = self.test_db.addPackage(data)
old_data = self.test_db.getPackageData(idpackage)
old_base_data = self.test_db.getBaseData(idpackage)
old_cats = self.test_db.listAllCategories()
@@ -718,7 +717,7 @@ class EntropyRepositoryTest(unittest.TestCase):
old_val = EntropyRepository._SCHEMA_2010_SUPPORT
EntropyRepository._SCHEMA_2010_SUPPORT = True
test_db = self.__open_test_db(":memory:")
idpackage, xxx, yyy = test_db.addPackage(data)
idpackage = test_db.addPackage(data)
new_data = test_db.getPackageData(idpackage)
new_base_data = test_db.getBaseData(idpackage)
new_cats = test_db.listAllCategories()
+5 -4
View File
@@ -185,8 +185,9 @@ class DepTest(unittest.TestCase):
deps = []
for dep, path in pkgs.items():
data = spm.extract_package_metadata(path)
idpackage, rev, new_data = test_db.addPackage(data)
self.assertEqual(data, new_data)
idpackage = test_db.addPackage(data)
data2 = test_db.getPackageData(idpackage)
self.assertEqual(data, data2)
deps.append(dep)
deps.sort()
@@ -210,8 +211,8 @@ class DepTest(unittest.TestCase):
deps = []
for dep, path in pkgs.items():
data = spm.extract_package_metadata(path)
idpackage, rev, new_data = test_db.addPackage(data)
self.assertEqual(data, new_data)
idpackage = test_db.addPackage(data)
self.assertEqual(data, test_db.getPackageData(idpackage))
deps.append(dep)
deps.sort()
selected_matches = [(test_db.atomMatch(deps[2])[0],
+15 -7
View File
@@ -57,7 +57,7 @@ class EntropyRepositoryTest(unittest.TestCase):
self.Server.repository())
test_pkg = _misc.get_test_package()
data = spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = dbconn.handlePackage(data)
idpackage = dbconn.handlePackage(data)
# now it should be empty
cacher = EntropyRepositoryCacher()
self.assertEqual(cacher.keys(), [])
@@ -77,9 +77,15 @@ class EntropyRepositoryTest(unittest.TestCase):
self.Server.repository())
test_pkg = _misc.get_test_package()
data = spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = test_db.handlePackage(data)
idpackage2, rev2, new_data2 = test_db.handlePackage(data)
self.assertEqual(new_data, new_data2)
idpackage = test_db.handlePackage(data)
rev = test_db.retrieveRevision(idpackage)
idpackage2 = test_db.handlePackage(data)
rev2 = test_db.retrieveRevision(idpackage2)
data2 = test_db.getPackageData(idpackage2)
self.assertNotEqual(data['revision'], data2['revision'])
data.pop('revision')
data2.pop('revision')
self.assertEqual(data, data2)
self.assertEqual(idpackage, 1)
self.assertEqual(idpackage2, 2)
self.assertEqual(rev, 0)
@@ -91,10 +97,12 @@ class EntropyRepositoryTest(unittest.TestCase):
self.Server.repository())
test_pkg = _misc.get_test_package()
data = spm.extract_package_metadata(test_pkg)
idpackage, rev, new_data = test_db.handlePackage(data)
idpackage = test_db.handlePackage(data)
rev = test_db.retrieveRevision(idpackage)
test_db.removePackage(idpackage)
idpackage2, rev2, new_data2 = test_db.handlePackage(data)
self.assertEqual(new_data, new_data2)
idpackage2 = test_db.handlePackage(data)
rev2 = test_db.retrieveRevision(idpackage2)
self.assertEqual(data, test_db.getPackageData(idpackage2))
self.assertEqual(idpackage, 1)
self.assertEqual(idpackage2, 2)
self.assertEqual(rev, 0)
+1 -1
View File
@@ -284,7 +284,7 @@ exit ${?}
else:
cache_t, data = cached
dest_package_id, xxx, yyy = dest_repo.addPackage(data,
dest_package_id = dest_repo.addPackage(data,
revision = data['revision'],
do_commit = False,
formatted_content = True)
+1 -1
View File
@@ -111,7 +111,7 @@ class EntropyPackage:
elif self.remote:
self.dbconn = ENTROPY.open_temp_repository()
idpackage, revision, mydata_upd = self.dbconn.addPackage(self.remote)
idpackage = self.dbconn.addPackage(self.remote)
matched_atom = (idpackage, matched_atom[1])
self.from_installed = False