Files
ubuntu-sdk-ide_orig/get_qt_sources.py
Zoltán Balogh aaeb733f77 1
2015-10-20 12:33:10 +03:00

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()