def scene_search()

in movie_search_metadata/demo_app/frontend/main.py [0:0]


def scene_search():
    st.write('# Scene Search')
    
    # Show "Search Query" and "Top N" in a single row
    col1, col2 = st.columns((7, 1))
    with col1:
        scene_search_query = st.text_input('Search Query', key='scene_search')
    with col2:
        top_n = st.number_input(
            'Top N', min_value=1, max_value=3, value=1,
            help='Top N とは ... シーンの検索対象最大動画数'
                 '\n\n'
                 'まず検索文の回答に適した動画が全動画を対象に検索され\n'
                 'その後、上位 N 個の動画からシーンが検索されます。'
        )

    if st.button('Search', key='scene_search_button'):
        st.write(f'Searching for: {scene_search_query}')
        if scene_search_query:
            try:
                results = make_request(
                    'scene_search',
                    params={'query': scene_search_query, 'top_n': top_n})['results']
                if results:
                    st.write('## Result')
                    for c, result in enumerate(results):
                        video_id = c + 1
                        st.write(f'Video ID: {video_id}')
                        st.write(f"Title: {result['title']}")
                        st.write(f"Description: {result['Description']}")
                        st.write(f"Timestamp: {result['Timestamp']}")
                        start_time, end_time = get_start_end_seconds(result['Timestamp'])
                        signed_url = result['signed_url']
                        st.video(signed_url, start_time=start_time, end_time=end_time)
                        st.divider()
                else:
                    st.write('No results found.')
            except requests.exceptions.RequestException as e:
                st.error(f'An error occurred while searching: {e}')