示例#1
0
    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')
示例#2
0
    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')
示例#3
0
    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')
示例#4
0
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)
示例#5
0
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)
示例#6
0
    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)
示例#7
0
    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)