Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
    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))
Ejemplo n.º 3
0
    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))
Ejemplo n.º 4
0
def remove_database_entries(connection, galaxy_id):
    connection.execute(
        PIXEL_RESULT.delete().where(PIXEL_RESULT.c.galaxy_id == galaxy_id))
    connection.execute(IMAGE_FILTERS_USED.delete().where(
        IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id))
    connection.execute(AREA.delete().where(AREA.c.galaxy_id == galaxy_id))
    connection.execute(
        FITS_HEADER.delete().where(FITS_HEADER.c.galaxy_id == galaxy_id))
    connection.execute(GALAXY.delete().where(GALAXY.c.galaxy_id == galaxy_id))
Ejemplo n.º 5
0
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 delete_galaxy(connection, galaxy_id):
    if DRY_RUN:
        LOG.info('DRY_RUN: deleting galaxy_id: {0}'.format(galaxy_id))
    else:
        transaction = connection.begin()
        for area_id1 in connection.execute(select([AREA.c.area_id]).where(AREA.c.galaxy_id == galaxy_id).order_by(AREA.c.area_id)):
            connection.execute(PIXEL_RESULT.delete().where(PIXEL_RESULT.c.area_id == area_id1[0]))
            connection.execute(AREA_USER.delete().where(AREA_USER.c.area_id == area_id1[0]))

        connection.execute(AREA.delete().where(AREA.c.galaxy_id == galaxy_id))
        connection.execute(FITS_HEADER.delete().where(FITS_HEADER.c.galaxy_id == galaxy_id))
        connection.execute(IMAGE_FILTERS_USED.delete().where(IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id))
        connection.execute(GALAXY.delete().where(GALAXY.c.galaxy_id == galaxy_id))

        LOG.info('Galaxy with galaxy_id of %d was deleted', galaxy_id)
        transaction.commit()
Ejemplo n.º 7
0
def delete_galaxy(connection, galaxy_id):
    if DRY_RUN:
        LOG.info('DRY_RUN: deleting galaxy_id: {0}'.format(galaxy_id))
    else:
        transaction = connection.begin()
        for area_id1 in connection.execute(
                select([AREA.c.area_id
                        ]).where(AREA.c.galaxy_id == galaxy_id).order_by(
                            AREA.c.area_id)):
            connection.execute(PIXEL_RESULT.delete().where(
                PIXEL_RESULT.c.area_id == area_id1[0]))
            connection.execute(
                AREA_USER.delete().where(AREA_USER.c.area_id == area_id1[0]))

        connection.execute(AREA.delete().where(AREA.c.galaxy_id == galaxy_id))
        connection.execute(
            FITS_HEADER.delete().where(FITS_HEADER.c.galaxy_id == galaxy_id))
        connection.execute(IMAGE_FILTERS_USED.delete().where(
            IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id))
        connection.execute(
            GALAXY.delete().where(GALAXY.c.galaxy_id == galaxy_id))

        LOG.info('Galaxy with galaxy_id of %d was deleted', galaxy_id)
        transaction.commit()
Ejemplo n.º 8
0
def remove_database_entries(connection, galaxy_id):
    connection.execute(PIXEL_RESULT.delete().where(PIXEL_RESULT.c.galaxy_id == galaxy_id))
    connection.execute(IMAGE_FILTERS_USED.delete().where(IMAGE_FILTERS_USED.c.galaxy_id == galaxy_id))
    connection.execute(AREA.delete().where(AREA.c.galaxy_id == galaxy_id))
    connection.execute(FITS_HEADER.delete().where(FITS_HEADER.c.galaxy_id == galaxy_id))
    connection.execute(GALAXY.delete().where(GALAXY.c.galaxy_id == galaxy_id))