X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=1418d081856192b9574fa6a63800138df9c36794;hb=7a10b5ede63f4f0138de4829cfa23994c8219956;hp=4e54a3272ea75a4ba1f7c71b85ad0f7affb3b0eb;hpb=b7f4f39d244e3282303015c9ff4a116252a64613;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 4e54a327..1418d081 100644 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -1437,70 +1437,14 @@ class DBChange(object): def __repr__(self): return '' % self.changesname - def upload_into_db(self, u, path): - cnf = Config() - session = DBConn().session().object_session(self) - - files = [] - for chg_fn, entry in u.pkg.files.items(): - try: - f = open(os.path.join(path, chg_fn)) - cpf = ChangePendingFile() - cpf.filename = chg_fn - cpf.size = entry['size'] - cpf.md5sum = entry['md5sum'] - - if entry.has_key('sha1sum'): - cpf.sha1sum = entry['sha1sum'] - else: - f.seek(0) - cpf.sha1sum = apt_pkg.sha1sum(f) - - if entry.has_key('sha256sum'): - cpf.sha256sum = entry['sha256sum'] - else: - f.seek(0) - cpf.sha256sum = apt_pkg.sha256sum(f) - - session.add(cpf) - files.append(cpf) - f.close() - - except IOError: - # Can't find the file, try to look it up in the pool - from utils import poolify - poolname = poolify(entry["source"], entry["component"]) - l = get_location(cnf["Dir::Pool"], entry["component"], session=session) - - found, poolfile = check_poolfile(os.path.join(poolname, chg_fn), - entry['size'], - entry["md5sum"], - l.location_id, - session=session) - - if found is None: - Logger.log(["E: Found multiple files for pool (%s) for %s" % % (chg_fn, entry["component"])) - elif found is False and poolfile is not None: - Logger.log(["E: md5sum/size mismatch for %s in pool" % % (chg_fn)) - else: - if poolfile is None: - Logger.log(["E: Could not find %s in pool" % % (chg_fn)) - else: - chg.poolfiles.append(poolfile) - - chg.files = files - - def clean_from_queue(self): session = DBConn().session().object_session(self) # Remove changes_pool_files entries - for pf in self.poolfiles: - self.poolfiles.remove(pf) + self.poolfiles = [] - # Remove change - for cf in self.files: - self.files.remove(cf) + # Remove changes_pending_files references + self.files = [] # Clear out of queue self.in_queue = None