Coverage for modules/org/openteacher/profileRunners/getTranslationAuthors/getTranslationAuthors : 33%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
|
#! /usr/bin/env python3 # -*- coding: utf-8 -*-
# Copyright 2012-2013, Marten de Vries # # This file is part of OpenTeacher. # # OpenTeacher is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenTeacher is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with OpenTeacher. If not, see <http://www.gnu.org/licenses/>.
self._mm.mods(type="execute"), ) "get-translation-authors": 0, "default": -1, }
series = lp.projects["openteacher"].getSeries(name="3.x") for template in series.getTranslationTemplates(): if not template.active: continue for translationFile in template.translation_files: yield translationFile.web_link + "/+details" print("processing template")
print("downloading %s:" % link) data = urllib.request.urlopen(link).read().decode("UTF-8") doc = lxml.html.document_fromstring(data) language = doc.cssselect("span.sprite.language")[0].text_content() for person in doc.cssselect(".portlet ul li a.sprite.person"): yield person.get("href"), (language, person.text_content())
global lxml try: from launchpadlib.launchpad import Launchpad import lxml.html except ImportError: sys.stderr.write("For this developer profile to work, you need launchpadlib and lxml to be installed.\n") return a = input("Please only use this script if you want to update the openteacherAuthors module, since this script puts a lot of load on launchpad and your internet connection, and takes a lot of time to execute. Continue (y/n)? ") if a != "y": return
lp = Launchpad.login_anonymously("Get OpenTeacher translators", "production", "~/.launchpadlib/cache/") links = self._translationFileLinks(lp)
persons = dict( (href, info) for link in links for href, info in self._personsForFile(link) )
print("\nResults:\n")
for l, p in sorted(persons.values()): print(' r.add(a.registerAuthor(_("Translator (%%s)") %% "%s", u"%s"))' % (l, p))
|