def insert_or_update(image_number, galaxy_id, red_filter, green_filter, blue_filter): """ Insert or update the filter """ # Get the id's before we build as SqlAlchemy flushes which will cause an error as filter_id_red = get_filter_id(red_filter) filter_id_blue = get_filter_id(blue_filter) filter_id_green = get_filter_id(green_filter) image_filters_used = connection.execute( select([IMAGE_FILTERS_USED]).where( and_(IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id, IMAGE_FILTERS_USED.c.image_number == image_number))).first() if image_filters_used is None: connection.execute(IMAGE_FILTERS_USED.insert().values( image_number=image_number, galaxy_id=galaxy_id, filter_id_red=filter_id_red, filter_id_blue=filter_id_blue, filter_id_green=filter_id_green)) else: connection.execute(IMAGE_FILTERS_USED.update().where( IMAGE_FILTERS_USED.c.image_filters_used_id == image_filters_used[ IMAGE_FILTERS_USED.c.image_filters_used_id]).values( image_number=image_number, galaxy_id=galaxy_id, filter_id_red=filter_id_red, filter_id_blue=filter_id_blue, filter_id_green=filter_id_green))
def __init__(self, bucket_name, image_number, image_file_key, thumbnail_file_key, red_filter, green_filter, blue_filter, width, height, centre, connection, galaxy_id): """ Initialise the builder :param bucket_name: :param image_number: :param image_file_key: :param thumbnail_file_key: :param red_filter: :param green_filter: :param blue_filter: :param width: :param height: :param centre: :param connection: :param galaxy_id: :return: """ self._bucket_name = bucket_name self._image_file_key = image_file_key self._thumbnail_file_key = thumbnail_file_key self._red_filter = red_filter self._green_filter = green_filter self._blue_filter = blue_filter self._width = width self._height = height self._centre = centre self._image = Image.new("RGB", (self._width, self._height), self._black_RGB) # Get the id's before we build as SqlAlchemy flushes which will cause an error filter_id_red = _get_filter_id(connection, red_filter) filter_id_blue = _get_filter_id(connection, blue_filter) filter_id_green = _get_filter_id(connection, green_filter) image_filters_used = connection.execute( select([IMAGE_FILTERS_USED]).where( and_(IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id, IMAGE_FILTERS_USED.c.image_number == image_number))).first() if image_filters_used is None: connection.execute(IMAGE_FILTERS_USED.insert().values( image_number=image_number, galaxy_id=galaxy_id, filter_id_red=filter_id_red, filter_id_blue=filter_id_blue, filter_id_green=filter_id_green)) else: connection.execute(IMAGE_FILTERS_USED.update().where( IMAGE_FILTERS_USED.c.image_filters_used_id == image_filters_used[ IMAGE_FILTERS_USED.c.image_filters_used_id]).values( image_number=image_number, galaxy_id=galaxy_id, filter_id_red=filter_id_red, filter_id_blue=filter_id_blue, filter_id_green=filter_id_green))
def __init__(self, bucket_name, image_number, image_file_key, thumbnail_file_key, red_filter, green_filter, blue_filter, width, height, centre, connection, galaxy_id): """ Initialise the builder :param bucket_name: :param image_number: :param image_file_key: :param thumbnail_file_key: :param red_filter: :param green_filter: :param blue_filter: :param width: :param height: :param centre: :param connection: :param galaxy_id: :return: """ self._bucket_name = bucket_name self._image_file_key = image_file_key self._thumbnail_file_key = thumbnail_file_key self._red_filter = red_filter self._green_filter = green_filter self._blue_filter = blue_filter self._width = width self._height = height self._centre = centre self._image = Image.new("RGB", (self._width, self._height), self._black_RGB) # Get the id's before we build as SqlAlchemy flushes which will cause an error filter_id_red = self._get_filter_id(connection, red_filter) filter_id_blue = self._get_filter_id(connection, blue_filter) filter_id_green = self._get_filter_id(connection, green_filter) image_filters_used = connection.execute(select([IMAGE_FILTERS_USED]) .where(and_(IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id, IMAGE_FILTERS_USED.c.image_number == image_number))).first() if image_filters_used is None: connection.execute(IMAGE_FILTERS_USED.insert() .values(image_number=image_number, galaxy_id=galaxy_id, filter_id_red=filter_id_red, filter_id_blue=filter_id_blue, filter_id_green=filter_id_green)) else: connection.execute(IMAGE_FILTERS_USED.update() .where(IMAGE_FILTERS_USED.c.image_filters_used_id == image_filters_used[IMAGE_FILTERS_USED.c.image_filters_used_id]) .values(image_number=image_number, galaxy_id=galaxy_id, filter_id_red=filter_id_red, filter_id_blue=filter_id_blue, filter_id_green=filter_id_green))
def insert_or_update(image_number, galaxy_id, red_filter, green_filter, blue_filter): """ Insert or update the filter """ # Get the id's before we build as SqlAlchemy flushes which will cause an error as filter_id_red = get_filter_id(red_filter) filter_id_blue = get_filter_id(blue_filter) filter_id_green = get_filter_id(green_filter) image_filters_used = connection.execute(select([IMAGE_FILTERS_USED]).where(and_(IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id, IMAGE_FILTERS_USED.c.image_number == image_number))).first() if image_filters_used is None: connection.execute(IMAGE_FILTERS_USED.insert().values(image_number = image_number, galaxy_id = galaxy_id, filter_id_red = filter_id_red, filter_id_blue = filter_id_blue, filter_id_green = filter_id_green)) else: connection.execute(IMAGE_FILTERS_USED.update().where(IMAGE_FILTERS_USED.c.image_filters_used_id == image_filters_used[IMAGE_FILTERS_USED.c.image_filters_used_id]).values(image_number = image_number, galaxy_id = galaxy_id, filter_id_red = filter_id_red, filter_id_blue = filter_id_blue, filter_id_green = filter_id_green))