view import_personas.py @ 161:a2ec4d3c59e8

Persona thumbnails in the edit page can now be moused-over/clicked to preview the persona just like on the list page.
author Atul Varma <varmaa@toolness.com>
date Fri, 04 Apr 2008 16:01:35 -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()