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
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
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
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
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
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)