def test_bool_from_string(self): true_values = ["True", True, "true", "TRUE", "1", 1, "on", "ON"] i = 0 for value in true_values: self.assertTrue(utils.bool_from_string(value), "Got False for value: %r (%d)" % (value, i)) i = i + 1 false_values = ["False", False, "false", "T", "F", "FALSE", "0", 0, 9, "off", "OFF"] for value in false_values: self.assertFalse(utils.bool_from_string(value), "Got True for value: %r" % value)
def test_bool_from_string(self): true_values = ['True', True, 'true', 'TRUE', '1', 1, 'on', 'ON'] i = 0 for value in true_values: self.assertTrue(utils.bool_from_string(value), "Got False for value: %r (%d)" % (value, i)) i = i + 1 false_values = [ 'False', False, 'false', 'T', 'F', 'FALSE', '0', 0, 9, 'off', 'OFF' ] for value in false_values: self.assertFalse(utils.bool_from_string(value), "Got True for value: %r" % value)
def update(self, req, id, image_meta, image_data): """ Updates an existing image with the registry. :param request: The WSGI/Webob Request object :param id: The opaque image identifier :retval Returns the updated image information as a mapping """ if req.context.read_only: msg = _("Read-only access") logger.debug(msg) raise HTTPForbidden(msg, request=req, content_type="text/plain") orig_image_meta = self.get_image_meta_or_404(req, id) orig_status = orig_image_meta['status'] # The default behaviour for a PUT /images/<IMAGE_ID> is to # override any properties that were previously set. This, however, # leads to a number of issues for the common use case where a caller # registers an image with some properties and then almost immediately # uploads an image file along with some more properties. Here, we # check for a special header value to be false in order to force # properties NOT to be purged. However we also disable purging of # properties if an image file is being uploaded... purge_props = req.headers.get('x-tank-registry-purge-props', True) purge_props = (utils.bool_from_string(purge_props) and image_data is None) if image_data is not None and orig_status != 'queued': raise HTTPConflict(_("Cannot upload to an unqueued image")) try: image_meta = registry.update_image_metadata(req.context, id, image_meta, purge_props) if image_data is not None: image_meta = self._upload_and_activate(req, image_meta) except exception.Invalid, e: msg = (_("Failed to update image metadata. Got error: %(e)s") % locals()) for line in msg.split('\n'): logger.error(line) self.notifier.error('image.update', msg) raise HTTPBadRequest(msg, request=req, content_type="text/plain")
def _parse_deleted_filter(self, req): """Parse deleted into something usable.""" deleted = req.str_params.get('deleted') if deleted is None: return None return utils.bool_from_string(deleted)