3
from optparse import OptionParser
6
from launchpadlib.launchpad import Launchpad
8
def create_webroot_url_from_self_link(self_link):
9
scheme, netloc, _, _, _ = urlparse.urlsplit(self_link)
10
netloc = netloc.lstrip("api.")
11
return u"%s://%s/" %(scheme, netloc)
13
def get_dsc(archive, package, series):
14
re_version = re.compile(r"^\d+\:")
15
# x = archive.getPublishedSources()
16
x = archive.getPublishedSources(exact_match=True, source_name=package,
18
webroot = create_webroot_url_from_self_link(archive.self_link)
20
version = x[0].source_package_version
21
version = re_version.sub("", version, 1)
22
#yield "%s~%s/+archive/primary/+files/%s_%s.dsc" \
23
yield "%subuntu/+archive/primary/+files/%s_%s.dsc" \
24
%(webroot, x[0].source_package_name, version)
25
#%(webroot, archive.owner.name, x[0].source_package_name, version)
28
parser = OptionParser(usage="usage: %prog [options] source ...")
30
"-l", "--launchpad", dest="launchpad_instance", default="production")
31
options, args = parser.parse_args()
33
parser.error("You must specify at least one soure.")
35
options.launchpad = Launchpad.login_with(
36
"branch-seeds", options.launchpad_instance)
38
launchpad = Launchpad.login_anonymously('just testing', 'production')
39
ubuntu = launchpad.distributions["ubuntu"]
40
archive = ubuntu.main_archive
41
series = ubuntu.getSeries(name_or_version="xenial")
43
#distro = options.launchpad.distributions["ubuntu"]
50
re_version = re.compile(r"^\d+\:")
51
x = archive.getPublishedSources(exact_match=True, source_name=package, distro_series=series)[0].source_package_version
53
generator = get_dsc(archive, package, series)