forked from adamm/git-importer
Split Revision into OBS and DB
This commit is contained in:
@@ -6,6 +6,8 @@ from lib.db import DB
|
||||
from lib.git import Git
|
||||
from lib.history import History
|
||||
from lib.obs import OBS
|
||||
from lib.obs_revision import OBSRevision
|
||||
from lib.db_revision import DBRevision
|
||||
from lib.proxy_sha256 import ProxySHA256, md5, sha256
|
||||
|
||||
|
||||
@@ -121,13 +123,22 @@ class Importer:
|
||||
print(f"Remove {name}")
|
||||
self.git.remove(name)
|
||||
|
||||
def update_db_package(self, db, project, package):
|
||||
root = self.obs._history(project, package)
|
||||
if root is None:
|
||||
return
|
||||
latest = DBRevision.latest_revision(db, project, self.package)
|
||||
for r in root.findall("revision"):
|
||||
rev = OBSRevision(self.obs, self, project, self.package).parse(r)
|
||||
if not latest or rev.rev > latest.rev:
|
||||
db.import_rev(rev)
|
||||
db.conn.commit()
|
||||
|
||||
def import_into_db(self):
|
||||
db = DB()
|
||||
self.history.fetch_all_revisions(self.projects)
|
||||
for project, _, _ in self.projects:
|
||||
for rev in self.history[project]:
|
||||
db.import_rev(rev)
|
||||
db.conn.commit()
|
||||
for project, _, api_url in self.projects:
|
||||
self.obs.change_url(api_url)
|
||||
self.update_db_package(db, project, self.package)
|
||||
|
||||
def import_all_revisions(self, gc):
|
||||
# Fetch all the requests and sort them. Ideally we should
|
||||
|
Reference in New Issue
Block a user