Esempio n. 1
0
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])