morphic.frontend

Flask web application providing a unified tabbed interface.

Application Factory

Flask application factory and CLI entry-point for morphic.

morphic.frontend.app.create_app(initial_folder=None)[source]

Create and configure the Flask application.

Parameters:

initial_folder (str, optional) – Folder path to pre-populate in the UI.

Return type:

Flask

morphic.frontend.app.main()[source]

CLI entry-point: morphic.

Return type:

None

Shared Routes

Shared routes — index page, folder browsing, thumbnail & media serving.

morphic.frontend.routes_shared.index()[source]

Serve the single-page application.

morphic.frontend.routes_shared.browse_directory()[source]

List directories for the in-page folder browser.

morphic.frontend.routes_shared.native_folder_dialog()[source]

Open the OS-native folder picker dialog.

morphic.frontend.routes_shared.api_system_info()[source]

Return diagnostic info about GPU/cuda/ffmpeg availability.

morphic.frontend.routes_shared.serve_thumbnail()[source]

Generate and serve a thumbnail for a media file.

morphic.frontend.routes_shared.serve_media()[source]

Serve a media file for full-size preview.

Converter Routes

Converter-tab API routes — scan, formats, convert, delete, progress.

morphic.frontend.routes_converter.api_scan()[source]

Scan a folder for convertible media files.

morphic.frontend.routes_converter.api_formats()[source]

Return all conversion mappings (source -> targets).

morphic.frontend.routes_converter.api_convert()[source]

Convert files and return progress job id.

morphic.frontend.routes_converter.api_progress(job_id)[source]

Get progress of a conversion job.

Parameters:

job_id (str)

morphic.frontend.routes_converter.api_progress_poll(job_id)[source]

Long-poll for conversion progress (blocks up to 10s).

Parameters:

job_id (str)

morphic.frontend.routes_converter.api_delete()[source]

Delete selected files.

Dupfinder Routes

Dupfinder-tab API routes — scan, status, results, delete.

morphic.frontend.routes_dupfinder.api_start_scan()[source]

Start a new duplicate scan.

morphic.frontend.routes_dupfinder.api_scan_status(job_id)[source]

Get status of a scan job.

Parameters:

job_id (str)

morphic.frontend.routes_dupfinder.api_scan_results(job_id)[source]

Get results of a completed scan.

Parameters:

job_id (str)

morphic.frontend.routes_dupfinder.api_delete_files()[source]

Delete selected duplicate files.