Exemple #1
0
def test_get_from_hash():
    eig_1 = Eig(name="eig 1", project="project 1")
    eig_2 = Eig(name="eig 2", project="project 2")
    promo = Promo(promo_number=1, eigs=[eig_1, eig_2])
    done = True
    meeting = Meeting(eig_1=eig_1, eig_2=eig_2, done=done)
    hash = f"{eig_1.get_hash()}_{eig_2.get_hash()}"
    meeting_from_hash = Meeting.get_from_hash(meeting_hash=hash,
                                              promo=promo,
                                              done=done)
    assert meeting == meeting_from_hash
Exemple #2
0
def get_meeting_from_redis(meeting_hash: str, done: str,
                           promo: Promo) -> Meeting:
    meeting_hash = meeting_hash.decode()
    done = done.decode()
    if done == "0":
        done = False
    else:
        done = True
    return Meeting.get_from_hash(meeting_hash=meeting_hash,
                                 done=done,
                                 promo=promo)
def read_history(promo: Promo, redis_server: Redis) -> MeetingSet:
    meeting_hashes = redis_server.sinter(
        f"meeting_history:{promo.promo_number}")
    meetings = []
    for meeting_hash in meeting_hashes:
        meeting_hash = meeting_hash.decode()
        meetings.append(
            Meeting.get_from_hash(meeting_hash=meeting_hash,
                                  done=True,
                                  promo=promo))
    return MeetingSet(meetings=meetings)