def test_nested(self): stateful = self.stateful stateful.state['b'] = 4 state_ = stateful.state.copy() with state(stateful, a=1, c=2): self.assertEqual(stateful.state, {'a': 1, 'b': 4, 'c': 2}) with state(stateful, a=0, b=0): self.assertEqual(stateful.state, {'a': 0, 'b': 0, 'c': 2}) self.assertEqual(stateful.state, {'a': 1, 'b': 4, 'c': 2}) self.assertEqual(state_, stateful.state)
def write( image, filename, format, # @ReservedAssignment compression, quality, flatten, background): if not format: format = splitext(filename)[1][1:].lower() # @ReservedAssignment if flatten is None: flatten = (image.type.name.endswith('matte') and format not in ('png', 'tiff', 'tif', 'bmp', 'gif')) if not background: background = 'white' if flatten: background = blank(image.width, image.height, background) background.overlay(image) image = background with state(image, format=format, compression_quality=quality): c_call(image, 'write', filename)
def test_empty(self): stateful = self.stateful state_ = stateful.state.copy() with state(stateful): self.assertEqual(state_, stateful.state) self.assertEqual(state_, stateful.state)
def test_one(self): stateful = self.stateful stateful.state['a'] = 1 state_ = stateful.state.copy() with state(stateful, b=3): self.assertEqual(stateful.state, {'a': 1, 'b': 3, 'c': None}) self.assertEqual(state_, stateful.state)
def test_exception(self): stateful = self.stateful stateful.state['b'] = 4 state_ = stateful.state.copy() try: with state(stateful, a=0): self.assertEqual(stateful.state['a'], 0) raise PystaciaException('dummy') except PystaciaException: self.assertEqual(stateful.state, state_)
def get_blob(image, format, compression, # @ReservedAssignment quality): with state(image, compression=compression, compression_quality=quality): format = format.upper() # @ReservedAssignment old_format = c_call('magick', 'get_format', image) c_call('magick', 'set_format', image, format) size = c_size_t() result = c_call(image, ('get', 'blob'), byref(size)) #from nose.tools import set_trace; set_trace() blob = string_at(result, size.value) c_call('magick_', 'relinquish_memory', result) c_call('magick', 'set_format', image, old_format) return blob
def write(image, filename, format, # @ReservedAssignment compression, quality, flatten, background): if not format: format = splitext(filename)[1][1:].lower() # @ReservedAssignment if flatten is None: flatten = (image.type.name.endswith('matte') and format not in ('png', 'tiff', 'tif', 'bmp', 'gif')) if not background: background = 'white' if flatten: background = blank(image.width, image.height, background) background.overlay(image) image = background with state(image, format=format, compression_quality=quality): c_call(image, 'write', filename)
def get_blob( image, format, compression, # @ReservedAssignment quality): with state(image, compression=compression, compression_quality=quality): format = format.upper() # @ReservedAssignment old_format = c_call('magick', 'get_format', image) c_call('magick', 'set_format', image, format) size = c_size_t() result = c_call(image, ('get', 'blob'), byref(size)) #from nose.tools import set_trace; set_trace() blob = string_at(result, size.value) c_call('magick_', 'relinquish_memory', result) c_call('magick', 'set_format', image, old_format) return blob