def process_placeholder_image(self):
if self.placeholder_image_name:<EOL><INDENT>return<EOL><DEDENT>placeholder_image_name = None<EOL>placeholder_image = self.placeholder_image<EOL>if placeholder_image:<EOL><INDENT>if isinstance(placeholder_image, OnStoragePlaceholderImage):<EOL><INDENT>name = placeholder_image.path<EOL><DEDENT>else:<EOL><INDENT>name = placeholder_image.image_data.name<EOL><DEDENT>placeholder_image_name = os.path.join(<EOL>VERSATILEIMAGEFIELD_PLACEHOLDER_DIRNAME, name<EOL>)<EOL>if not self.storage.exists(placeholder_image_name):<EOL><INDENT>self.storage.save(<EOL>placeholder_image_name,<EOL>placeholder_image.image_data<EOL>)<EOL><DEDENT><DEDENT>self.placeholder_image_name = placeholder_image_name<EOL>
Process the field's placeholder image.

Ensures the placeholder image has been saved to the same storage class
as the field in a top level folder with a name specified by
settings.VERSATILEIMAGEFIELD_SETTINGS['placeholder_directory_name']

This should be called by the VersatileImageFileDescriptor __get__.
If self.placeholder_image_name is already set it just returns right away.