Source code for pyvips.vtarget

from __future__ import division

import logging

import pyvips
from pyvips import ffi, vips_lib, Error, _to_bytes

logger = logging.getLogger(__name__)


[docs]class Target(pyvips.Connection): """An output connection. """ def __init__(self, pointer): # logger.debug('Operation.__init__: pointer = %s', pointer) super(Target, self).__init__(pointer)
[docs] @staticmethod def new_to_descriptor(descriptor): """Make a new target to write to a file descriptor (a small integer). Make a new target that is attached to the descriptor. For example:: target = pyvips.Target.new_to_descriptor(1) Makes a descriptor attached to stdout. You can pass this target to (for example) :meth:`write_to_target`. """ # logger.debug('VipsTarget.new_to_descriptor: descriptor = %d', # descriptor) # targets are mutable, so we can't use the cache pointer = vips_lib.vips_target_new_to_descriptor(descriptor) if pointer == ffi.NULL: raise Error("can't create output target from descriptor {0}" .format(descriptor)) return Target(pointer)
[docs] @staticmethod def new_to_file(filename): """Make a new target to write to a file. Make a new target that will write to the named file. For example:: target = pyvips.Target.new_to_file("myfile.jpg") You can pass this target to (for example) :meth:`write_to_target`. """ # logger.debug('VipsTarget.new_to_file: filename = %s', filename) pointer = vips_lib.vips_target_new_to_file(_to_bytes(filename)) if pointer == ffi.NULL: raise Error("can't create output target from filename {0}" .format(filename)) return Target(pointer)
[docs] @staticmethod def new_to_memory(): """Make a new target to write to an area of memory. Make a new target that will write to memory. For example:: target = pyvips.Target.new_to_memory() You can pass this target to (for example) :meth:`write_to_target`. After writing to the target, fetch the bytes from the target object with `target.get("blob")`. """ # logger.debug('VipsTarget.new_to_memory:') pointer = vips_lib.vips_target_new_to_memory() if pointer == ffi.NULL: raise Error("can't create output target from memory") return Target(pointer)
__all__ = ['Target']