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)
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 = []
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)
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)
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)
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])
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)