示例#1
0
#!/bin/env python
import sys
sys.path.append('.')

import subprocess
from migrate_data.env import get_app_env, get_data_dir, get_data_filename, python, pythonpath, manage_py, models

app_env = get_app_env()
env = {
    'DJANGO_GALLERY_ENVIRONMENT': app_env,
    'PYTHONPATH': pythonpath,
}
subprocess.call(['mkdir', '-p', get_data_dir(app_env)])
for model in models:
    filename = get_data_filename(app_env, model)
    print "dumping %s to %s" % (model, filename)
    output = open(filename, 'w')
    subprocess.Popen([python, manage_py, 'dumpdata', '--indent', '2', model], env=env, stdout=output)
    output.close()
示例#2
0
pk_map = {}
file_re = re.compile('^(?P<prefix>\D*)(?P<pk>\d+)(?P<suffix>.*)$')
error_objs = []

for name in models:
    #for name in ['lti.user', 'artwork.artwork', 'exhibitions.exhibition', 'submissions.submission', 'votes.vote']:
    (app_label, model_name) = name.split('.')
    model = apps.get_model(app_label, model_name)
    if model.objects.count():
        last_obj = model.objects.latest('id')
        next_id = last_obj.id + 1
    else:
        next_id = 1

    # Read JSON data file
    filename = get_data_filename(source_env, name)
    print "Reading %s from %s" % (name, filename)
    input_file = open(filename, 'r')
    input_objs = json.load(input_file)
    input_file.close()

    print "load %s %s objs, starting at %s" % (len(input_objs), name, next_id)
    pk_map[name] = {}
    for obj in input_objs:
        fields = copy.copy(obj['fields'])
        mfields = model_fields.get(name, {})

        try:
            if (name == 'lti.user') and (fields.get('username', '')
                                         == edge_user.username):
                new_obj = edge_user
pk_map = {}
file_re = re.compile('^(?P<prefix>\D*)(?P<pk>\d+)(?P<suffix>.*)$')
error_objs = []

for name in models:
#for name in ['lti.user', 'artwork.artwork', 'exhibitions.exhibition', 'submissions.submission', 'votes.vote']:
    (app_label, model_name) = name.split('.')
    model = apps.get_model(app_label, model_name)
    if model.objects.count():
        last_obj = model.objects.latest('id')
        next_id = last_obj.id + 1
    else:
        next_id = 1

    # Read JSON data file
    filename = get_data_filename(source_env, name)
    print "Reading %s from %s" % (name, filename)
    input_file = open(filename, 'r')
    input_objs = json.load(input_file)
    input_file.close()

    print "load %s %s objs, starting at %s" % (len(input_objs), name, next_id)
    pk_map[name] = {}
    for obj in input_objs:
        fields = copy.copy(obj['fields'])
        mfields = model_fields.get(name, {})

        try:
            if (name == 'lti.user') and (fields.get('username', '') == edge_user.username):
                new_obj = edge_user
            else: