Example #1
0
    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)
Example #2
0
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)
Example #3
0
    def test_empty(self):
        stateful = self.stateful
        state_ = stateful.state.copy()

        with state(stateful):
            self.assertEqual(state_, stateful.state)

        self.assertEqual(state_, stateful.state)
Example #4
0
    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)
Example #5
0
    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_)
Example #6
0
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
Example #7
0
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)
Example #8
0
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