view import_japanese_personas.py @ 155:7182070b0875

Added a get_absolute_url() method to the Persona model, so that there's now a link allowing admins to easily see a persona's preview.
author Atul Varma <varmaa@toolness.com>
date Fri, 04 Apr 2008 13:49:54 -0700
parents 9bcc77e37c19
children
line wrap: on
line source

# Imports the personas from personas_all.dat and
# personas_categories.dat (the contents of which are contained in this
# file as constants) into the database.

import os

os.environ["DJANGO_SETTINGS_MODULE"] = "personasbackend.settings"

from django.utils import simplejson
from personasbackend.personas import models

def makeCategory( name ):
    return models.Category( name = name )

def makePersona( name, category, text_color, json_id ):
    url = "http://personas-view/legacy-cbeard-persona?name=%s" % json_id
    return models.Persona(
        name = name,
        category = category,
        text_color = text_color,
        description = "&nbsp;",
        url = url,
        status = "published"
        )

personas_categories_dat = """
{ "categories": [
        {"label": "Japan Rock Festival 2007", "id" : "personas-mozilla24-menu", "type" : "list", "parent" : "personas-category-menu"}
  ]
}
"""

personas_all_dat = """
{ "personas": [
    {"label": "101A", "id" : "101a", "menu" : "personas-mozilla24-menu", "dark" : "true" },
       {"label": "AJI", "id" : "aji", "menu" : "personas-mozilla24-menu", "dark" : "false" },
       {"label": "TAIZO JINNOUCHI", "id" : "jinnouchi", "menu" : "personas-mozilla24-menu", "dark" : "true" },
       {"label": "KOKUSYOKU SUMIRE", "id" : "kokushoku", "menu" : "personas-mozilla24-menu", "dark" : "true" },
       {"label": "marron", "id" : "marron", "menu" : "personas-mozilla24-menu", "dark" : "true" },
       {"label": "MARS EURYTHMICS", "id" : "mars", "menu" : "personas-mozilla24-menu", "dark" : "true" },
       {"label": "MIDORI", "id" : "midori", "menu" : "personas-mozilla24-menu", "dark" : "false" },
       {"label": "O-NO KIYOFUMI", "id" : "ohno", "menu" : "personas-mozilla24-menu", "dark" : "false" },
       {"label": "Qomolangma Tomato", "id" : "qomo", "menu" : "personas-mozilla24-menu", "dark" : "false" },
       {"label": "Shonen Knife", "id" : "shonen", "menu" : "personas-mozilla24-menu", "dark" : "false" },
       {"label": "SLUGGER", "id" : "slugger", "menu" : "personas-mozilla24-menu", "dark" : "true" },
       {"label": "TsuShiMaMiRe", "id" : "tsushimamire", "menu" : "personas-mozilla24-menu", "dark" : "false" }
  ]
}

"""

if __name__ == "__main__":
    personas = simplejson.loads( personas_all_dat )
    personas = personas["personas"]

    categories = simplejson.loads( personas_categories_dat )
    categories = categories["categories"]

    json_cats = {}

    for category in categories:
        if category["parent"] == "personas-category-menu":
            cat = makeCategory(
                name = category["label"],
                )
            print "Saving category %s" % cat.name
            cat.save()
            json_cats[category["id"]] = cat

    for persona in personas:
        menu = persona["menu"].split( "," )[0]
        if persona.get( "dark", "false" ) == "true":
            text_color = "#FFFFFF"
        else:
            text_color = "#000000"
        persona = makePersona(
            name = persona["label"],
            category = json_cats[menu],
            text_color = text_color,
            json_id = persona["id"],
            )
        print "Saving persona %s" % persona.name
        persona.save()