view import_personas.py @ 154:e86018a689ba

Moved the URL field for the persona to be below the header and footer image, which should be easier for users to understand, and modified field documentation to be more user-friendly too.
author Atul Varma <varmaa@toolness.com>
date Fri, 04 Apr 2008 13:37:37 -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": "Most Popular", "id" : "personas-popular-menu", "type" : "list", "parent" : "top" },
	{"label": "Recent", "id" : "personas-recent-menu", "type" : "recent", "parent" : "top" },
	{"label": "New", "id" : "personas-new-menu", "type" : "list", "parent" : "top" },
	{"label": "All", "id" : "personas-category-menu", "type" : "category", "parent" : "top" },
	{"label": "Other", "id" : "personas-other-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Geometric", "id" : "personas-geometric-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Sports", "id" : "personas-sports-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Scenery", "id" : "personas-scenery-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Nature", "id" : "personas-nature-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Holidays", "id" : "personas-holiday-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Foxkeh", "id" : "personas-foxkeh-menu", "type" : "list", "parent" : "personas-category-menu" },
	{"label": "Firefox", "id" : "personas-firefox-menu", "type" : "list", "parent" : "personas-category-menu" }
  ]
}
"""

personas_all_dat = """
{ "personas": [
	{"label": "Firefox Logo", "id" : "firefox_b", "menu" : "personas-firefox-menu", "preview" : "yes" },
        {"label": "Firefox Flicks", "id" : "firefox_flicks", "menu" : "personas-firefox-menu", "dark" : "true", "preview" : "yes" }, 
        {"label": "Mozilla Classic", "id" : "mozilla_classic", "menu" : "personas-firefox-menu", "preview" : "yes" },
	{"label": "Foxkeh Straw", "id" : "foxkeh_straw", "menu" : "personas-foxkeh-menu", "preview" : "yes" },
	{"label": "Foxkeh Hanami", "id" : "foxkeh_hanami",  "menu" : "personas-foxkeh-menu", "preview" : "yes" },
	{"label": "Foxkeh Hinimatsuri", "id" : "foxkeh_hinimatsuri",  "menu" : "personas-foxkeh-menu", "preview" : "yes" },
	{"label": "Foxkeh Kodomo No Hi", "id" : "foxkeh_kodomo_no_hi",  "menu" : "personas-foxkeh-menu", "preview" : "yes" },
	{"label": "Foxkeh Setsubun", "id" : "foxkeh_setsubun",  "menu" : "personas-foxkeh-menu", "preview" : "yes" },
	{"label": "Foxkeh Giant Butterbur", "id" : "foxkeh_butterbur", "menu" : "personas-foxkeh-menu", "preview" : "yes" },
	{"label": "Foxkeh Tanabata", "id" : "foxkeh_tanabata", "menu" : "personas-foxkeh-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Viva Firefox", "id" : "viva","menu" : "personas-firefox-menu", "preview" : "yes" },
	{"label": "Developer Kit", "id" : "kit","menu" : "personas-firefox-menu,personas-popular-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Tranquility", "id" : "tranquility","menu" : "personas-nature-menu", "dark" : "true", "preview" : "yes" },
        {"label": "California Sunset", "id" : "california_sunset", "menu" : "personas-scenery-menu,personas-popular-menu", "preview" : "yes" },
        {"label": "Wood Paneling", "id" : "wood_paneling", "menu" : "personas-other-menu", "preview" : "yes" },
        {"label": "Hearts", "id" : "hearts", "menu" : "personas-other-menu", "preview" : "yes" },
        {"label": "Blue Spheres", "id" : "blue_spheres", "menu" : "personas-other-menu", "preview" : "yes" },
	{"label": "Les Diablerets", "id" : "les_diablerets", "menu" : "personas-scenery-menu", "preview" : "yes" },
        {"label": "Seagull", "id" : "seagull", "menu" : "personas-scenery-menu", "preview" : "yes" },
        {"label": "Verdelet", "id" : "verdelet", "menu" : "personas-scenery-menu", "preview" : "yes" },
        {"label": "Green Wave", "id" : "green_wave", "menu" : "personas-other-menu", "preview" : "yes" },
        {"label": "Golf", "id" : "golf", "menu" : "personas-sports-menu", "preview" : "yes" },
        {"label": "Basketball", "id" : "bball", "menu" : "personas-sports-menu", "preview" : "yes" },
	{"label": "Antique Wallpaper", "id" : "antique_wallpaper", "menu" : "personas-other-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Bamboo", "id" : "bamboo", "menu" : "personas-nature-menu,personas-new-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Plaid", "id" : "plaid", "menu" : "personas-geometric-menu,personas-new-menu", "preview" : "no" },
	{"label": "Soccer", "id" : "soccer", "menu" : "personas-sports-menu,personas-new-menu", "dark" : "true", "preview" : "no" },
	{"label": "Suede", "id" : "suede", "menu" : "personas-other-menu,personas-new-menu,personas-popular-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Aquarium", "id" : "aquarium", "menu" : "personas-nature-menu,personas-new-menu", "dark" : "true", "preview" : "no" },
	{"label": "Dialogonal Lines", "id" : "diagonal_lines", "menu" : "personas-geometric-menu,personas-new-menu", "preview" : "no" },
	{"label": "Dots", "id" : "dots", "menu" : "personas-geometric-menu,personas-new-menu", "preview" : "no" },
	{"label": "Golden Gate Bridge", "id" : "golden_gate_bridge", "menu" : "personas-scenery-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Grass", "id" : "grass", "menu" : "personas-nature-menu,personas-new-menu", "dark" : "true", "preview" : "no" },
	{"label": "Foxkeh Green Winter", "id" : "foxkeh_green_winter", "menu" : "personas-foxkeh-menu,personas-new-menu,personas-popular-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Jellyfish", "id" : "jellyfish", "menu" : "personas-nature-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Yosemite", "id" : "yosemite", "menu" : "personas-scenery-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Snowman", "id" : "snowman", "menu" : "personas-holiday-menu,personas-new-menu,personas-popular-menu", "preview" : "yes" },
	{"label": "Snowflakes", "id" : "snowflakes", "menu" : "personas-holiday-menu,personas-new-menu", "preview" : "no" },
	{"label": "Reindeer", "id" : "reindeer", "menu" : "personas-holiday-menu,personas-new-menu,personas-popular-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Foxkeh Canoe", "id" : "foxkeh_canoe", "menu" : "personas-foxkeh-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Foxkeh Helloween", "id" : "foxkeh_helloween", "menu" : "personas-foxkeh-menu,personas-new-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Foxkeh Susuki", "id" : "foxkeh_susuki", "menu" : "personas-foxkeh-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Foxkeh Hanabi", "id" : "foxkeh_hanabi", "menu" : "personas-foxkeh-menu,personas-new-menu", "dark" : "true", "preview" : "yes" },
	{"label": "Paper", "id" : "paper", "menu" : "personas-other-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Winter", "id" : "winter", "menu" : "personas-holiday-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Leather", "id" : "leather", "menu" : "personas-other-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Niagra Falls", "id" : "niagra_falls", "menu" : "personas-scenery-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Groovy Blue", "id" : "groovy_blue", "menu" : "personas-other-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Groovy Hearts", "id" : "groovy_hearts", "menu" : "personas-other-menu,personas-new-menu", "preview" : "yes" },
	{"label": "Groovy Orange", "id" : "groovy_orange", "menu" : "personas-other-menu,personas-new-menu,personas-popular-menu", "preview" : "yes" },
	{"label": "Groovy Pink", "id" : "groovy_pink", "menu" : "personas-other-menu,personas-new-menu", "preview" : "yes" }
  ]
}

"""

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()