This commit is contained in:
lda committed 2026-08-23 18:52:19 +07:00 Verified
1 parent e70a012b03
commit 067eff1ec8
3 files changed
+47 -7

No files matched your search

+16 -2
View File
@@ -27,6 +27,20 @@ if [[ -z "$custom_path" || "$custom_path" == *$'\n'* ]]; then
printf 'CustomPath must be exactly one non-empty path.\n' >&2
exit 1
fi
manifest_path="$("$SCRIPT_DIRECTORY/install-gitea-github-theme.sh" --print-manifest-path \
"$custom_path/public/assets/css" "$custom_path/templates")"
# Move manifests written by earlier script versions out of CustomPath before Gitea dump scans it.
for legacy_manifest in \
"$custom_path/.gitea-github-theme-files" \
"$custom_path/templates/.gitea-github-theme-files"; do
if [[ -f "$legacy_manifest" && ! -e "$manifest_path" ]]; then
mkdir -p "$(dirname "$manifest_path")"
mv -- "$legacy_manifest" "$manifest_path"
printf 'Moved theme manifest to %s.\n' "$manifest_path"
break
fi
done
if [[ ! "$gitea_version" =~ ^v?([0-9]+\.[0-9]+) ]]; then
printf 'Unable to determine major.minor from Gitea version: %s\n' "$gitea_version" >&2
@@ -54,11 +68,11 @@ if [[ -z "$theme_version" ]]; then
exec "$SCRIPT_DIRECTORY/install-gitea-github-theme.sh" --remove \
"$custom_path/public/assets/css" \
"$custom_path/templates" \
"$custom_path/.gitea-github-theme-files"
"$manifest_path"
fi
exec "$SCRIPT_DIRECTORY/install-gitea-github-theme.sh" \
"$theme_version" \
"$custom_path/public/assets/css" \
"$custom_path/templates" \
"$custom_path/.gitea-github-theme-files"
"$manifest_path"
+28 -2
View File
@@ -47,6 +47,23 @@ prepare_directory() {
printf '%s\n' "$directory"
}
default_manifest_path() {
local css_destination="$1"
local templates_destination="$2"
local state_directory manifest_key
if [[ -n "${GITEA_GITHUB_THEME_STATE_DIR:-}" ]]; then
state_directory="$GITEA_GITHUB_THEME_STATE_DIR"
elif [[ $EUID -eq 0 ]]; then
state_directory="/var/lib/gitea-github-theme"
else
state_directory="${XDG_STATE_HOME:-${HOME:-.}/.local/state}/gitea-github-theme"
fi
manifest_key="$(printf '%s\0%s' "$css_destination" "$templates_destination" | sha256sum | awk '{print $1}')"
printf '%s/%s.manifest\n' "$state_directory" "$manifest_key"
}
remove_theme_files() {
local css_destination="$1"
local templates_destination="$2"
@@ -98,11 +115,20 @@ main() {
local version css_destination templates_destination manifest release_path
require_command find
require_command sha256sum
require_command awk
if [[ "${1:-}" == "--print-manifest-path" ]]; then
css_destination="$(prepare_directory "${2:-}")"
templates_destination="$(prepare_directory "${3:-}")"
default_manifest_path "$css_destination" "$templates_destination"
return
fi
if [[ "${1:-}" == "--remove" ]]; then
css_destination="$(prepare_directory "${2:-}")"
templates_destination="$(prepare_directory "${3:-}")"
manifest="${4:-$templates_destination/.gitea-github-theme-files}"
manifest="${4:-$(default_manifest_path "$css_destination" "$templates_destination")}"
remove_theme_files "$css_destination" "$templates_destination" "$manifest"
printf 'Removed installed Gitea GitHub theme files.\n'
return
@@ -130,7 +156,7 @@ main() {
read -r -p "Templates destination (for example /path/to/gitea/templates): " templates_destination
fi
templates_destination="$(prepare_directory "$templates_destination")"
manifest="${4:-$templates_destination/.gitea-github-theme-files}"
manifest="${4:-$(default_manifest_path "$css_destination" "$templates_destination")}"
if [[ "$version" == "latest" ]]; then
release_path="latest/download"
Executable → Regular
+3 -3
View File
@@ -8,7 +8,6 @@ from pathlib import Path
from datetime import datetime
import re
PATTERN = re.compile(
# r"^rollout-"
r"(?P<date>\d{4}-\d{2}-\d{2})"
@@ -49,6 +48,7 @@ def format_size(size: int) -> str:
return f"{size} B"
return f"{value:.1f} {unit}"
value /= 1024
raise ValueError() # unreachable
def format_session_line(file: Path) -> str | None:
@@ -62,8 +62,8 @@ def format_session_line(file: Path) -> str | None:
return (
f'{parsed["started"]:%Y-%m-%d %H:%M:%S} | '
f'updated {modified:%Y-%m-%d %H:%M:%S} | '
f'{size:>8} | '
f"updated {modified:%Y-%m-%d %H:%M:%S} | "
f"{size:>8} | "
f'codex resume {parsed["uuid"]}'
)