In [1]:
import csv, re
In [2]:
threedmodelsall = Threedmodel.objects.all()
for x in threedmodelsall:
x.delete()
In [3]:
file = "data/Schachermeyr_threedmodels.csv"
In [4]:
with open(file, 'r', encoding ='utf-8') as data:
reader = csv.reader(data)
datalist = list(reader)
In [5]:
#create new model
for x in datalist[2:]:
if x[22] != '':
model = Threedmodel.objects.get_or_create(model_id=x[0],
part=x[10],
diameter=x[11],
wall_thickness=x[12],
surface_treatment_i=x[13],
surface_treatment_o=x[14],
surface_color_i=x[15],
surface_color_o=x[16],
decoration_color=x[17],
decoration_description=x[18],
fabric_color=x[25],
hardness=x[26],
sorting=x[27],
density=x[28],
pores=x[29],
core_form=x[30],
core_color=x[31],
model_file='models/'+x[22]+'.nxs',
model_thumbnail='thumbnails/'+x[22]+'.jpg')
In [6]:
# add metadata to model
for x in datalist[2:]:
if x[22] != '':
try:
model = Threedmodel.objects.get(model_id=x[0])
model.model_metadata = "metadata/{}.csv".format(x[22])
model.save()
except:
print('error:'+x[22])
In [7]:
#add parameter data to model
for x in datalist[2:]:
if x[22] != '':
try:
model = Threedmodel.objects.get(model_id=x[0])
newName = re.sub('internet', 'Parameter', x[22])
model.model_parameters = "parameters/{}.txt".format(newName)
model.save()
except:
print('error:'+x[22])
In [8]:
#create contact and project objects
new_institution, _ = DC_researchevent_institution.objects.get_or_create(name="ÖAW, OREA")
new_contact1, _ = Contact.objects.get_or_create(
first_name = "Eva",
last_name = "Alram"
)
new_contact1.institution.add(new_institution)
new_contact1.save()
new_contact2, _ = Contact.objects.get_or_create(
first_name = "Seta",
last_name = "Stuhec"
)
new_contact2.institution.add(new_institution)
new_contact2.save()
new_project, _ = Project.objects.get_or_create(
name = "Digitizing Early Farming Cultures",
title = "Fritz Schachermeyr pottery collection",
source = "ÖAW, OREA",
language = "English/German",
keywords = "3D, pottery, neolithic, Thessaly",
publisher = "ÖAW, OREA",
license = "CC-BY",
access_rights = "Open access")
new_project.contact = ([new_contact1,new_contact2])
In [9]:
#add resource_metadata to model
for x in datalist[2:]:
if x[22] != '':
temp_model = Threedmodel.objects.get(model_id=x[0])
temp_model.resource_metadata = new_project
temp_model.save()
In [ ]: