Exemplo n.º 1
0
    def create(self, validated_data):
        # Overriding the create method to handle file processing
        owner = self.context.get('request').user
        f = self.initial_data.get('icon_file')

        # ensure filetype is valid:
        upload_helpers.validate_file(f, self.ext_whitelist)

        self.validated_data.update(self.get_presave_create_dictionary())
        self.validated_data.update({
            'host': settings.SERVER_HOST,
            'file_name_orig': f.name,
            'name': self.validated_data.get('name') or f.name,
            'virtual_path': upload_helpers.generate_relative_path(
                owner, 'icons')

        })
        # create unsaved Icon instance
        self.instance = models.Icon(**self.validated_data)

        # Save it to Amazon S3 cloud
        self.instance.process_file(f, self.validated_data)

        # Commit to database
        self.instance.save()

        # Send binaries to Amazon:
        self.instance.send_icons_to_s3()
        return self.instance
Exemplo n.º 2
0
    def create(self, validated_data):
        # Overriding the create method to handle file processing
        owner = self.context.get('request').user
        f = self.initial_data.get('media_file')
        
        # ensure filetype is valid:
        upload_helpers.validate_file(f, self.ext_whitelist)
        
        # save it to disk
        extras = self.process_file(f, owner)
        extras.update(self.get_presave_create_dictionary())
        extras.update({
            'status': models.StatusCode.objects.get(id=models.StatusCode.READY_FOR_PROCESSING), #Make writeable field in serializer?
            'upload_source': models.UploadSource.objects.get(id=models.UploadSource.WEB_FORM),
            'attribution': validated_data.get('attribution') or owner.username,
            'host': settings.SERVER_HOST
        })
        validated_data = {}
        validated_data.update(self.validated_data)
        validated_data.update(extras)
        self.instance = self.Meta.model.objects.create(**validated_data)
        
        from localground.apps.tasks import process_map
        result = process_map.delay(self.instance)

        return self.instance
Exemplo n.º 3
0
    def create(self, validated_data):
        # Overriding the create method to handle file processing
        # owner = self.context.get('request').user
        f = self.initial_data.get('media_file')

        # ensure filetype is valid:
        upload_helpers.validate_file(f, self.ext_whitelist)

        owner = self.context.get('request').user
        validated_data = {}
        validated_data.update(self.validated_data)
        validated_data.update(self.get_presave_create_dictionary())
        validated_data.update({
            'uuid':
            generic.generateID(),
            'status':
            models.StatusCode.objects.get(
                id=models.StatusCode.READY_FOR_PROCESSING),
            'upload_source':
            models.UploadSource.objects.get(id=models.UploadSource.WEB_FORM),
            'attribution':
            validated_data.get('attribution') or owner.username,
            'host':
            settings.SERVER_HOST
        })
        self.instance = self.Meta.model.objects.create(**validated_data)

        # process map onto the instance
        # from localground.apps.tasks import process_map
        # result = process_map.delay(self.instance)

        # now save the map_image to S3
        self.instance.process_mapImage_to_S3(f)
        return self.instance
Exemplo n.º 4
0
    def create(self, validated_data):
        # Overriding the create method to handle file processing
        owner = self.context.get('request').user
        f = self.initial_data.get('media_file')

        # ensure filetype is valid:
        upload_helpers.validate_file(f, self.ext_whitelist)

        # Save it to Amazon S3 cloud
        self.validated_data.update(self.get_presave_create_dictionary())
        self.validated_data.update({'attribution': owner.username})
        self.validated_data.update(validated_data)
        self.instance = self.Meta.model.objects.create(**self.validated_data)
        self.instance.process_file(f, name=self.validated_data.get('name'))
        return self.instance
Exemplo n.º 5
0
    def create(self, validated_data):
        # Overriding the create method to handle file processing
        owner = self.context.get('request').user
        f = self.initial_data.get('media_file')

        # ensure filetype is valid:
        upload_helpers.validate_file(f, self.ext_whitelist)

        # Save it to Amazon S3 cloud
        self.validated_data.update(self.get_presave_create_dictionary())
        self.validated_data.update({
            'attribution': owner.username
        })
        self.validated_data.update(validated_data)
        self.instance = self.Meta.model.objects.create(**self.validated_data)
        self.instance.process_file(f, name=self.validated_data.get('name'))
        return self.instance
Exemplo n.º 6
0
 def create(self, validated_data):
     # Overriding the create method to handle file processing
     owner = self.context.get('request').user
     f = self.initial_data.get('media_file')
     
     # ensure filetype is valid:
     upload_helpers.validate_file(f, self.ext_whitelist)
     
     # save it to disk
     data = self.process_file(f, owner)
     data.update(self.get_presave_create_dictionary())
     data.update({
         'attribution': validated_data.get('attribution') or owner.username,
         'host': settings.SERVER_HOST
     })
     data.update(validated_data)
     self.instance = self.Meta.model.objects.create(**data)
     return self.instance
    def create(self, validated_data):
        validated_data.update(self.get_presave_create_dictionary())

        # 1. save file blob to disk:
        f = self.initial_data.get('media_file')
        upload_helpers.validate_file(f, self.ext_whitelist)
        mapimage = validated_data.get('source_mapimage')
        owner = self.context.get('request').user
        model_name_plural = models.MapImage.model_name_plural
        file_name_new = upload_helpers.save_file_to_disk(
            owner, model_name_plural, f, uuid=mapimage.uuid)

        # 2. include new path variables in save dictionary:
        validated_data.update({
            'file_name_orig': file_name_new,
            'host': mapimage.host,
            'virtual_path': mapimage.virtual_path
        })

        # 3. call default "create" method:
        return self.Meta.model.objects.create(**validated_data)
    def create(self, validated_data):
        validated_data.update(self.get_presave_create_dictionary())

        # 1. save file blob to disk:
        f = self.initial_data.get('media_file')
        upload_helpers.validate_file(f, self.ext_whitelist)
        mapimage = validated_data.get('source_mapimage')
        owner = self.context.get('request').user
        model_name_plural = models.MapImage.model_name_plural
        file_name_new = upload_helpers.save_file_to_disk(owner,
                                                         model_name_plural,
                                                         f,
                                                         uuid=mapimage.uuid)

        # 2. include new path variables in save dictionary:
        validated_data.update({
            'file_name_orig': file_name_new,
            'host': mapimage.host,
            'virtual_path': mapimage.virtual_path
        })

        # 3. call default "create" method:
        return self.Meta.model.objects.create(**validated_data)