def update_name_from_package_manifest(self): """ Looks at the manifest.webapp inside the current version's file and updates the app's name and translated names. Note: Make sure the correct version is in place before calling this. """ if not self.is_packaged: return None file_ = self.versions.latest().all_files[0] mf = self.get_manifest_json(file_) # Get names in "locales" as {locale: name}. locale_names = get_locale_properties(mf, 'name', self.default_locale) # Check changes to default_locale. locale_changed = self.update_default_locale(mf.get('default_locale')) if locale_changed: log.info(u'[Webapp:%s] Default locale changed from "%s" to "%s".' % (self.pk, locale_changed[0], locale_changed[1])) # Update names crud = self.update_names(locale_names) if any(crud.values()): self.save()
msg.append(u'Manifest name changed from "%s" to "%s".' % ( old.get('name'), new.get('name'))) new_version = webapp.versions.latest() # Compare developer_name between old and new version using the property # that fallbacks to the author name instead of using the db field directly. # This allows us to avoid forcing a re-review on old apps which didn't have # developer name in their manifest initially and upload a new version that # does, providing that it matches the original author name. if version.developer_name != new_version.developer_name: rereview = True msg.append(u'Developer name changed from "%s" to "%s".' % (version.developer_name, new_version.developer_name)) # Get names in "locales" as {locale: name}. locale_names = get_locale_properties(new, 'name', webapp.default_locale) # Check changes to default_locale. locale_changed = webapp.update_default_locale(new.get('default_locale')) if locale_changed: msg.append(u'Default locale changed from "%s" to "%s".' % locale_changed) # Update names crud = webapp.update_names(locale_names) if any(crud.values()): webapp.save() if crud.get('added'): rereview = True msg.append(u'Locales added: %s' % crud.get('added'))
try: webapp.manifest_updated(content, upload) except: _log(webapp, u"Failed to create version", exc_info=True) # Check for any name changes at root and in locales. If any were added or # updated, send to re-review queue. msg = [] rereview = False if old and old.get("name") != new.get("name"): rereview = True msg.append(u'Manifest name changed from "%s" to "%s".' % (old.get("name"), new.get("name"))) # Get names in "locales" as {locale: name}. locale_names = get_locale_properties(new, "name", webapp.default_locale) # Check changes to default_locale. locale_changed = webapp.update_default_locale(new.get("default_locale")) if locale_changed: msg.append(u'Default locale changed from "%s" to "%s".' % locale_changed) # Update names crud = webapp.update_names(locale_names) if any(crud.values()): webapp.save() if crud.get("added"): rereview = True msg.append(u"Locales added: %s" % crud.get("added")) if crud.get("updated"):