def post_create_user(sender, instance, created, **kwargs): print "Post save emited for", instance users = User.objects.filter(username="******") if created and len(users) > 0: user_template = users[0] print "user_template", user_template user = instance image_types = ImageType.objects.filter(user=user_template) print "image_types", image_types print 'mkdir {0}{1}'.format(BASE_DIR+'/segment/static/uploads/',str(user_template.id),str(user.id)) os.popen('cp -a {0}{1} {0}{2}'.format(BASE_DIR+'/segment/static/uploads/',str(user_template.id),str(user.id))) for image_type in image_types: print "imagetype", image_type #folder_random_name = get_random_name() #print 'mkdir {0}{1}/{2}'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name) #os.popen('mkdir {0}{1}/{2}'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name)) #os.popen('mkdir {0}{1}/{2}/segments'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name)) #os.popen('mkdir {0}{1}/{2}/segments'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name)) it = ImageType() it.name=image_type.name it.user = user it.folder = image_type.folder it.save() it.users_shared.add(user) tags = Tag.objects.filter(image_type=image_type) for tag in tags: t = Tag() t.name = tag.name t.image_type = it t.save() images = Image.objects.filter(image_type=image_type) print "images", images for image in images: i = Image() i.name = image.name i.image_type = it i.filename = str(image.filename).replace('/'+str(user_template.id)+'/','/'+str(user.id)+'/') #print 'cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(image.filename),BASE_DIR+'/segment/static/' ,str(i.filename)) #os.popen('cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(image.filename),BASE_DIR+'/segment/static/' ,str(i.filename))) i.parent_segment = image.parent_segment i.save() segments = Segment.objects.filter(image=image) print "image id", image.id, "segments", len(segments), segments for segment in segments: s = Segment() s.x1 = segment.x1 s.y1 = segment.y1 s.x2 = segment.x2 s.y2 = segment.y2 s.image = i s.filename = str(segment.filename).replace('/'+str(user_template.id)+'/','/'+str(user.id)+'/') #print 'cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(segment.filename),BASE_DIR+'/segment/static/',str(s.filename)) #os.popen('cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(segment.filename),BASE_DIR+'/segment/static/',str(s.filename))) s.save() for tag in segment.tags.all(): tag_new = Tag.objects.filter(image_type=it,name=tag.name) s.tags.add(tag_new[0])