from cPickle import Unpickler, Pickler
from errno import EPERM
-from apt_inst import debExtractControl
-from apt_pkg import ParseSection
+from apt_pkg import TagSection
-from utils import open_file, fubar, poolify
+from utils import open_file, fubar, poolify, deb_extract_control
from config import *
from dbconn import *
if entry["type"] == "deb":
deb_fh = open_file(name)
- summary += ParseSection(debExtractControl(deb_fh))["Description"] + '\n'
+ summary += TagSection(deb_extract_control(deb_fh))["Description"] + '\n'
deb_fh.close()
else:
if (not self.changes.has_key(key)) or (not self.changes[key]):
self.changes[key]='missing'
- def __get_file_from_pool(self, filename, entry, session):
+ def __get_file_from_pool(self, filename, entry, session, logger):
cnf = Config()
if cnf.has_key("Dinstall::SuiteSuffix"):
session=session)
if found is None:
- Logger.log(["E: Found multiple files for pool (%s) for %s" % (filename, component)])
+ if logger is not None:
+ logger.log(["E: Found multiple files for pool (%s) for %s" % (filename, component)])
return None
elif found is False and poolfile is not None:
- Logger.log(["E: md5sum/size mismatch for %s in pool" % (filename)])
+ if logger is not None:
+ logger.log(["E: md5sum/size mismatch for %s in pool" % (filename)])
return None
else:
if poolfile is None:
- Logger.log(["E: Could not find %s in pool" % (filename)])
+ if logger is not None:
+ logger.log(["E: Could not find %s in pool" % (filename)])
return None
else:
return poolfile
@session_wrapper
- def add_known_changes(self, dirpath, in_queue=None, session=None):
+ def add_known_changes(self, dirpath, in_queue=None, session=None, logger=None):
"""add "missing" in fields which we will require for the known_changes table"""
cnf = Config()
continue
entry['source'] = self.changes['source']
- poolfile = self.__get_file_from_pool(name, entry, session)
+ poolfile = self.__get_file_from_pool(name, entry, session, logger)
if poolfile:
chg.poolfiles.append(poolfile)