76 lines
3.0 KiB
Python
Executable File
76 lines
3.0 KiB
Python
Executable File
#!/usr/bin/python
|
|
|
|
from optparse import OptionParser
|
|
import re
|
|
import urlparse
|
|
from launchpadlib.launchpad import Launchpad
|
|
from subprocess import call
|
|
|
|
qt_sources = {"qtpim-opensource-src": 1,
|
|
"qtsystems-opensource-src": 1,
|
|
"qtbase-opensource-src": 1,
|
|
"qtdeclarative-opensource-src": 1,
|
|
"qtmultimedia-opensource-src": 1,
|
|
"qtpim-opensource-src": 1,
|
|
"qtmultimedia-opensource-src": 1,
|
|
"qt3d-opensource-src": 0,
|
|
"qtfeedback-opensource-src": 0,
|
|
"qtlocation-opensource-src": 0,
|
|
"qtscript-opensource-src": 0,
|
|
"qtsensors-opensource-src": 0,
|
|
"qtsvg-opensource-src": 0,
|
|
"qttools-opensource-src": 0,
|
|
"qtwebsockets-opensource-src": 0,
|
|
"qtxmlpatterns-opensource-src": 0,
|
|
"qtquickcontrols-opensource-src": 0,
|
|
"qtconnectivity-opensource-src": 0,
|
|
"qtimageformats-opensource-src": 0,
|
|
"qtgraphicaleffects-opensource-src": 0,
|
|
"qtserialport-opensource-src": 0,
|
|
"qtenginio-opensource-src": 0 }
|
|
|
|
|
|
def create_webroot_url_from_self_link(self_link):
|
|
scheme, netloc, _, _, _ = urlparse.urlsplit(self_link)
|
|
netloc = netloc.lstrip("api.")
|
|
return u"%s://%s/" %(scheme, netloc)
|
|
|
|
def get_dsc(archive, package, series):
|
|
re_version = re.compile(r"^\d+\:")
|
|
x = archive.getPublishedSources(exact_match=True, source_name=package,
|
|
distro_series=series)
|
|
webroot = create_webroot_url_from_self_link(archive.self_link)
|
|
version = x[0].source_package_version
|
|
version = re_version.sub("", version, 1)
|
|
if archive.owner.name == "ubuntu-archive":
|
|
yield "%subuntu/+archive/primary/+files/%s_%s.dsc" \
|
|
%(webroot, x[0].source_package_name, version)
|
|
else:
|
|
yield "%s/~ci-train-ppa-service/+archive/ubuntu/stable-phone-overlay/+files/%s_%s.dsc" \
|
|
%(webroot, x[0].source_package_name, version)
|
|
|
|
def main():
|
|
parser = OptionParser(usage="usage: %prog [options] source ...")
|
|
parser.add_option(
|
|
"-l", "--launchpad", dest="launchpad_instance", default="production")
|
|
options, args = parser.parse_args()
|
|
|
|
launchpad = Launchpad.login_anonymously('just testing', 'production')
|
|
ubuntu = launchpad.distributions["ubuntu"]
|
|
distro_archive = ubuntu.main_archive
|
|
overlay_archive = launchpad.people["ci-train-ppa-service"].getPPAByName(name="stable-phone-overlay")
|
|
series = ubuntu.getSeries(name_or_version="vivid")
|
|
|
|
for qt_source_package, source in qt_sources.iteritems():
|
|
if source == 1:
|
|
archive = overlay_archive
|
|
elif source == 0:
|
|
archive = distro_archive
|
|
re_version = re.compile(r"^\d+\:")
|
|
x = archive.getPublishedSources(exact_match=True, source_name=qt_source_package, distro_series=series)[0].source_package_version
|
|
generator = get_dsc(archive, qt_source_package, series)
|
|
for i in generator:
|
|
call(["dget", i])
|
|
|
|
main()
|