def post(self): """Deploy action""" json = {} for language in Language.all(): translations = {} for key in language.translations: translation = db.get(key) translations[translation.phrase.text] = translation.text json[language.code] = translations json = simplejson.dumps(json) active_snapshot = SnapshotMetadata.all().filter('active =', True).get() if active_snapshot: active_snapshot.active = False active_snapshot.save() metadata = SnapshotMetadata(active=True) metadata.put() content = SnapshotContent(metadata=metadata, json=json) content.put() init_cached_translations() self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('success')
def post(self): """Deploy action""" json = {} for language in Language.all().filter('enabled_on_site =', True): logging.info("Buiding translation snapshot for " + language.code) translations = {} for key in language.translations: translation = db.get(key) translations[translation.phrase.text] = translation.text json[language.code] = translations logging.info("Encoding snapshot JSON") json = simplejson.dumps(json) logging.info("Switching active snapshot") active_snapshot = SnapshotMetadata.all().filter('active =', True).get() if active_snapshot: active_snapshot.active = False active_snapshot.save() metadata = SnapshotMetadata(active=True) metadata.put() content = SnapshotContent(metadata=metadata, json=json) content.put() self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('success')
def init_cached_translations(): """This method initializes the app cached translations""" global deployed_translations logging.info("Initializing cached translations") metadata = SnapshotMetadata.all().filter('active =', True).get() if metadata: snapshot = SnapshotContent.all().filter('metadata =', metadata).get() deployed_translations = simplejson.loads(snapshot.json)
def delete(self): """Delete specific snapshot""" if not users.is_current_user_admin(): self.error(403) snapshot_id = self.request.path.split('/')[-1] metadata = SnapshotMetadata.get_by_id(int(snapshot_id)) content = SnapshotContent.all().filter('metadata =', metadata).get() if metadata: content.delete() metadata.delete() self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('success'); else: self.error(404)
def delete(self): """Delete specific snapshot""" if not users.is_current_user_admin(): self.error(403) snapshot_id = self.request.path.split('/')[-1] metadata = SnapshotMetadata.get_by_id(int(snapshot_id)) content = SnapshotContent.all().filter('metadata =', metadata).get() if metadata: content.delete() metadata.delete() self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('success') else: self.error(404)