britney_util: add make_hintitem()

This function allows a textual representation of a package (e.g.
"foo/amd64") to be convered to a HintItem().

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
This commit is contained in:
Adam D. Barratt 2013-09-07 16:57:35 +00:00
parent c91cfe64ae
commit 27bdf0e666

View File

@ -23,7 +23,7 @@ from functools import partial
from itertools import chain, ifilter, ifilterfalse, izip, repeat
import re
import time
from migrationitem import HintItem, MigrationItem
from consts import (VERSION, BINARIES, PROVIDES, DEPENDS, CONFLICTS,
RDEPENDS, RCONFLICTS, ARCHITECTURE, SECTION)
@ -361,3 +361,13 @@ def write_heidi(filename, sources_t, packages_t,
srcv = src[VERSION]
srcsec = src[SECTION] or 'unknown'
f.write('%s %s source %s\n' % (src_name, srcv, srcsec))
def make_hintitem(package, sources, VERSION=VERSION):
"""Convert a textual package specification to a HintItem
sources is a list of source packages in each suite, used to determine
the version which should be used for the HintItem.
"""
item = MigrationItem(package)
return HintItem("%s/%s" % (item.uvname, sources[item.suite][item.package][VERSION]))