def process_formdata(self, valuelist): if valuelist and valuelist[0]: self.data = valuelist[0].strip() try: # Like the JSON object, we merely care about if the data # is valid or not, so we don't save the results anywhere. parsePlainL10nChangesets(self.data) except ValueError: self.process_errors.append('Bad format in %s field' % self.name) else: self.data = None
def l10nExport(releaseName): # Export the l10n changeset for a product releaseTable = getReleaseTable(releaseName) release = releaseTable.query.filter_by(name=releaseName).first() if release is None or release.l10nChangesets == config.LEGACY_KEYWORD: return myjsonify({}) locale_list = defaultdict() if "Firefox" in releaseName or "Thunderbird" in releaseName: locales = parsePlainL10nChangesets(release.l10nChangesets) for key, changeset in locales.iteritems(): locale_list[key] = { "changeset": changeset, } if "Fennec" in releaseName: locales = json.loads(release.l10nChangesets) for key, extra in locales.iteritems(): locale_list[key] = { "changeset": extra['revision'], } l10n_list = {"version": config.JSON_FORMAT_L10N_VERSION, "shippedAt": release.shippedAt, "submittedAt": release.submittedAt, "locales": locale_list, } return myjsonify(l10n_list)
def _getReleaseLocales(release): locale_list = defaultdict() if release is None or release.l10nChangesets == config.LEGACY_KEYWORD: locale_list = {} elif "Firefox" in release.name or "Thunderbird" in release.name: locales = parsePlainL10nChangesets(release.l10nChangesets) for key, changeset in locales.iteritems(): locale_list[key] = { "changeset": changeset, } elif "Fennec" in release.name: locales = json.loads(release.l10nChangesets) for key, extra in locales.iteritems(): locale_list[key] = { "changeset": extra['revision'], } return { "name": release.name, "shippedAt": release.shippedAt, "submittedAt": release.submittedAt, "locales": locale_list, }
def _getReleaseLocales(release): if release is None or release.l10nChangesets == config.LEGACY_KEYWORD: return myjsonify({}) locale_list = defaultdict() if "Firefox" in release.name or "Thunderbird" in release.name: locales = parsePlainL10nChangesets(release.l10nChangesets) for key, changeset in locales.iteritems(): locale_list[key] = { "changeset": changeset, } if "Fennec" in release.name: locales = json.loads(release.l10nChangesets) for key, extra in locales.iteritems(): locale_list[key] = { "changeset": extra['revision'], } return { "name": release.name, "shippedAt": release.shippedAt, "submittedAt": release.submittedAt, "locales": locale_list, }
def generateLocalizedBuilds(buildsVersionLocales, l10nchangesets, lastVersion): # The l10n format for desktop is 'locale changeset' # parse it locales = parsePlainL10nChangesets(l10nchangesets) for localeCode in locales: if localeCode not in buildsVersionLocales.keys(): buildsVersionLocales[localeCode] = [lastVersion] else: buildsVersionLocales[localeCode] += [lastVersion] return buildsVersionLocales
def generateLocalizedBuilds(buildsVersionLocales, l10nchangesets, lastVersion): # The l10n format for desktop is 'locale changeset' # parse it locales = parsePlainL10nChangesets(l10nchangesets) # We don't have an l10n changeset for en-US but we need en-US in the output locales['en-US'] = 'abcd123456' for localeCode in locales: version = _generateDummyFileSizeMetaData(lastVersion) if localeCode not in buildsVersionLocales.keys(): buildsVersionLocales[localeCode] = version else: buildsVersionLocales[localeCode].update(version) return buildsVersionLocales