Example #1
0
def filter_by_rating():
    """Filter photos by specified rating"""

    rating = request.form.get("filter-rating")
    equality_symbol = request.form.get("equality-symbol")
    user_id = session.get('user_id')
    albums = crud.get_albums_by_user_id(user_id)

    if equality_symbol == 'equals':
        photos = crud.get_photos_by_exact_rating(rating, user_id)
        statement = rating
    elif equality_symbol == 'greater':
        photos = crud.get_photos_with_greater_or_equal_rating(rating, user_id)
        statement = "≥ " + rating
    elif equality_symbol == 'less':
        photos = crud.get_photos_with_less_or_equal_rating(rating, user_id)
        statement = "≤ " + rating

    global current_photo_list
    current_photo_list = photos

    return render_template("filter.html",
                           photos=photos,
                           albums=albums,
                           statement=statement)
Example #2
0
def searchpage():
    """Returns photos that match keyword search"""
    # filtered by user id

    tagword = (request.form.get("search")).capitalize()
    user_id = session.get('user_id')
    albums = crud.get_albums_by_user_id(user_id)
    tag = crud.get_tag_by_tagword(tagword)
    if tag:
        photos = crud.get_photos_by_tag(tag, user_id)
    else:
        photos = []
Example #3
0
def display_album(album_id):
    """Display photos in a selected album"""

    album = crud.get_album_by_id(album_id)
    albums = crud.get_albums_by_user_id(session.get('user_id'))
    photoalbum = album.photos

    global current_photo_list
    current_photo_list = photoalbum
    return render_template("album_details.html",
                           album=album,
                           albums=albums,
                           photoalbum=photoalbum)
Example #4
0
def display_photo(photo_id):
    """Display selected photo enlarged"""

    photo = crud.get_photo_by_id(photo_id)
    albums = crud.get_albums_by_user_id(session.get('user_id'))
    tags = crud.display_tags_by_photo_id(photo_id)
    set_of_tags = set(tags)
    date = crud.print_date(photo_id)

    global current_index_clicked
    current_index_clicked = get_current_idx(current_photo_list, photo_id)
    return render_template("photo_details.html",
                           photo=photo,
                           albums=albums,
                           tags=set_of_tags,
                           date=date)
Example #5
0
def display_library():
    """Display all photos and list albums belonging to a user"""

    current_user_id = session.get('user_id', None)

    if current_user_id is None:
        return redirect("/")

    photos = crud.get_photos_by_user_id(current_user_id)
    albums = crud.get_albums_by_user_id(current_user_id)

    for photo in photos:
        photo.print_date = crud.print_date(photo.photo_id)

    global current_photo_list
    current_photo_list = photos
    return render_template("library.html", photos=photos, albums=albums)
Example #6
0
def get_albums_by_user_id(user_id):
    albums = crud.get_albums_by_user_id(user_id)
    return jsonify([album.to_dict() for album in albums])
Example #7
0
 def test_get_albums_by_user_id(self):
     user_id = 1
     albums = crud.get_albums_by_user_id(user_id)
     for album in albums:
         self.assertEqual(album.user_id, user_id)