2# +==== BEGIN CatFeeder =================+
5# ...............)..(.')
7# ...............\(__)|
8# Inspired by Joan Stark
9# source https://www.asciiart.eu/
13# FILE: ff_constants.py
14# CREATION DATE: 19-11-2025
15# LAST Modified: 14:50:38 19-12-2025
17# This is the backend server in charge of making the actual website work.
19# COPYRIGHT: (c) Cat Feeder
20# PURPOSE: The constants used by the ff download handler.
22# +==== END CatFeeder =================+
26from typing
import Union, Optional
27from functools
import partial
28from pathlib
import Path
as PPath
33FFPROBE_KEY =
"ffprobe"
36WINDOWS_KEY =
"windows"
40FILE_URL_TOKEN =
"file_url"
41FILE_PATH_TOKEN =
"file_path"
47def process_file_path(*args: Union[str, PPath], cwd: Optional[Union[str, PPath]] =
None) -> str:
49 Convert a list of elements making up a path to a valid system-specific path.
52 *args: Path components to join.
53 cwd: Optional base directory to prepend to the path.
56 str: The compiled path.
58 if isinstance(cwd, str):
59 path = PPath(cwd, *args)
69 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.zip",
70 FILE_PATH_TOKEN: partial(
72 "downloads",
"windows",
"ffmpeg-release-i686-static.zip"
76 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-x86_64-static.zip",
77 FILE_PATH_TOKEN: partial(
79 "downloads",
"windows",
"ffmpeg-release-x86_64-static.zip"
86 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz",
87 FILE_PATH_TOKEN: partial(
89 "downloads",
"linux",
"ffmpeg-release-i686-static.tar.xz"
93 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz",
94 FILE_PATH_TOKEN: partial(
96 "downloads",
"linux",
"ffmpeg-release-x86_64-static.tar.xz"
101 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-arm64-static.tar.xz",
102 FILE_PATH_TOKEN: partial(
104 "downloads",
"linux",
"ffprobe-release-arm64-static.tar.xz"
110 FILE_URL_TOKEN:
"https://evermeet.cx/ffmpeg/get/zip",
111 FILE_PATH_TOKEN: partial(
113 "downloads",
"macos",
"ffmpeg-latest.zip"
117 FILE_URL_TOKEN:
"https://evermeet.cx/ffmpeg/get/zip",
118 FILE_PATH_TOKEN: partial(
120 "downloads",
"macos",
"ffmpeg-latest-amd64.zip"
125 FILE_URL_TOKEN:
"https://ffmpeg.martin-riedl.de/redirect/latest/macos/arm64/release/ffmpeg.zip",
126 FILE_PATH_TOKEN: partial(
128 "downloads",
"macos",
"ffmpeg-latest-arm64.zip"
136 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.zip",
137 FILE_PATH_TOKEN: partial(
139 "downloads",
"windows",
"ffprobe-release-i686-static.zip"
143 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-x86_64-static.zip",
144 FILE_PATH_TOKEN: partial(
146 "downloads",
"windows",
"ffprobe-release-x86_64-static.zip"
153 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz",
154 FILE_PATH_TOKEN: partial(
156 "downloads",
"linux",
"ffprobe-release-i686-static.tar.xz"
161 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz",
162 FILE_PATH_TOKEN: partial(
164 "downloads",
"linux",
"ffprobe_x64.tar.xz"
169 FILE_URL_TOKEN:
"https://ffmpeg.martin-riedl.de/redirect/latest/linux/arm64/release/ffprobe.zip",
170 FILE_PATH_TOKEN: partial(
172 "downloads",
"linux",
"ffprobe_arm64.zip"
178 FILE_URL_TOKEN:
"https://evermeet.cx/ffmpeg/getrelease/ffprobe/zip",
179 FILE_PATH_TOKEN: partial(
181 "downloads",
"macos",
"ffprobe-latest.zip"
185 FILE_URL_TOKEN:
"https://evermeet.cx/ffmpeg/getrelease/ffprobe/zip",
186 FILE_PATH_TOKEN: partial(
188 "downloads",
"macos",
"ffprobe-latest-amd64.zip"
193 FILE_URL_TOKEN:
"https://ffmpeg.martin-riedl.de/redirect/latest/macos/arm64/release/ffprobe.zip",
194 FILE_PATH_TOKEN: partial(
196 "downloads",
"macos",
"ffprobe-latest-arm64.zip"
204 FILE_URL_TOKEN:
"https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n4.4-32bit-static.zip",
205 FILE_PATH_TOKEN: partial(
207 "downloads",
"windows",
"ffplay-release-i686-static.zip"
211 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-x86_64-static.zip",
212 FILE_PATH_TOKEN: partial(
214 "downloads",
"windows",
"ffplay-release-x86_64-static.zip"
221 FILE_URL_TOKEN:
"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz",
222 FILE_PATH_TOKEN: partial(
224 "downloads",
"linux",
"ffplay-release-i686-static.tar.xz"
228 FILE_URL_TOKEN:
"https://ffmpeg.martin-riedl.de/redirect/latest/linux/amd64/release/ffplay.zip",
229 FILE_PATH_TOKEN: partial(
231 "downloads",
"linux",
"ffplay-latest-amd64.zip"
235 FILE_URL_TOKEN:
"https://ffmpeg.martin-riedl.de/redirect/latest/linux/arm64/release/ffplay.zip",
236 FILE_PATH_TOKEN: partial(
238 "downloads",
"linux",
"ffplay-latest-arm64.zip"
244 FILE_URL_TOKEN:
"https://evermeet.cx/ffmpeg/getrelease/ffplay/zip",
245 FILE_PATH_TOKEN: partial(
247 "downloads",
"macos",
"ffplay-latest.zip"
251 FILE_URL_TOKEN:
"https://evermeet.cx/ffmpeg/getrelease/ffplay/zip",
252 FILE_PATH_TOKEN: partial(
254 "downloads",
"macos",
"ffplay-latest.zip"
259 FILE_URL_TOKEN:
"https://ffmpeg.martin-riedl.de/redirect/latest/macos/arm64/release/ffplay.zip",
260 FILE_PATH_TOKEN: partial(
262 "downloads",
"macos",
"ffplay-latest-arm64.zip"
str process_file_path(*Union[str, PPath] args, Optional[Union[str, PPath]] cwd=None)