Пример #1
0
 def test_get_like_by_user_2(self) -> None:
     """
     Test get_like_by_user: user doesn’t exist
     """
     Like.create_like(Like(self.user, self.event))
     likes = Like.get_like_by_user('1')
     events = [like.event for like in likes]
     self.assertListEqual(events, [])
Пример #2
0
 def test_get_like_by_user_1(self) -> None:
     """
     Test get_like_by_user: user exists
     """
     Like.create_like(Like(self.user, self.event))
     likes = Like.get_like_by_user(self.user)
     events = [like.event for like in likes]
     self.assertListEqual(events, [self.event])
Пример #3
0
    def get_all_ongoing_event_by_user(email: str):
        """

        :param email: Email of user
        :return: A list of event which is ongoing, and is attended by user.
        """
        likes = Like.get_like_by_user(email)
        liked_events = set(like.event for like in likes)

        cnx = db_connector.get_connection()
        cursor = cnx.cursor()
        query = ("SELECT * FROM `event` "
                 "WHERE `id` IN "
                 "(SELECT `event` FROM `join` WHERE `user` = '" + email +
                 "') and `time` >= now();")
        cursor.execute(query)
        events = []
        for (event_id, name, host, address, longitude, latitude, zipcode,
             event_time, description, image, num_likes, category) in cursor:
            new_event = Event(user=host,
                              name=name,
                              address=address,
                              longitude=longitude,
                              latitude=latitude,
                              zipcode=zipcode,
                              event_time=datetime.datetime.strptime(
                                  str(event_time), "%Y-%m-%d %H:%M:%S"))
            new_event.event_id = event_id
            new_event.description = description
            new_event.image = image
            new_event.num_likes = num_likes
            new_event.category = category
            if event_id in liked_events:
                new_event.liked = True
            new_event.attended = True
            events.append(new_event)
        cursor.close()
        cnx.close()
        # return json.dumps([ob.__dict__ for ob in events], use_decimal=True, default=str)
        return events
Пример #4
0
    def get_all_event_created_by_user(email: str):
        """

        :param email: Email of user
        :return: A list of event which is created by the given user.
        """
        likes = Like.get_like_by_user(email)
        liked_events = set(like.event for like in likes)

        cnx = db_connector.get_connection()
        cursor = cnx.cursor()
        query = ("SELECT * FROM `event` WHERE host='" + email + "'")
        cursor.execute(query)
        events = []
        for (event_id, name, host, address, longitude, latitude, zipcode,
             event_time, description, image, num_likes, category) in cursor:
            new_event = Event(user=host,
                              name=name,
                              address=address,
                              longitude=longitude,
                              latitude=latitude,
                              zipcode=zipcode,
                              event_time=datetime.datetime.strptime(
                                  str(event_time), "%Y-%m-%d %H:%M:%S"))
            new_event.event_id = event_id
            new_event.description = description
            new_event.image = image
            new_event.category = category
            new_event.num_likes = num_likes
            if event_id in liked_events:
                new_event.liked = True
            new_event.attended = True
            events.append(new_event)
        cursor.close()
        cnx.close()
        return events