summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/cdxget14
-rwxr-xr-xbin/fmt-metadata7
-rwxr-xr-xbin/gitify28
-rwxr-xr-xbin/poolify54
-rwxr-xr-xbin/urlkey2url6
-rwxr-xr-xbin/wayfore4
6 files changed, 85 insertions, 28 deletions
diff --git a/bin/cdxget b/bin/cdxget
index 46d56c4..1dbc8f0 100755
--- a/bin/cdxget
+++ b/bin/cdxget
@@ -1,7 +1,15 @@
#!/usr/bin/env bash
+# Copyright (c) 2017, 2023 Luke Shumaker <lukeshu@lukeshu.com>
+#
+# This work is free. You can redistribute it and/or modify it under
+# the terms of the Do What The Fuck You Want To Public License,
+# Version 2, as published by Sam Hocevar. See the COPYING file for
+# more details.
-url='http://web.archive.org/cdx/search/cdx?'
+url='http://web.archive.org/cdx/search/cdx'
+s='?'
for arg in "$@"; do
- url+="$s${arg%%=*}=$(printf '%s' "${arg#*=}"|urlencode)&"
+ url+="$s${arg%%=*}=$(printf '%s' "${arg#*=}"|urlencode)"
+ s='&'
done
-curl -sL "$url"
+curl -sfL "$url"
diff --git a/bin/fmt-metadata b/bin/fmt-metadata
index c92419b..ec82451 100755
--- a/bin/fmt-metadata
+++ b/bin/fmt-metadata
@@ -1,4 +1,11 @@
#!/usr/bin/env ruby
+# Copyright (c) 2017 Luke Shumaker <lukeshu@lukeshu.com>
+#
+# This work is free. You can redistribute it and/or modify it under
+# the terms of the Do What The Fuck You Want To Public License,
+# Version 2, as published by Sam Hocevar. See the COPYING file for
+# more details.
+
require 'time'
snapshot = ARGV.first.to_i
diff --git a/bin/gitify b/bin/gitify
index 2c73bcd..d655f22 100755
--- a/bin/gitify
+++ b/bin/gitify
@@ -1,4 +1,10 @@
#!/usr/bin/env bash
+# Copyright (c) 2017, 2023 Luke Shumaker <lukeshu@lukeshu.com>
+#
+# This work is free. You can redistribute it and/or modify it under
+# the terms of the Do What The Fuck You Want To Public License,
+# Version 2, as published by Sam Hocevar. See the COPYING file for
+# more details.
empty() {
[[ $(stat -c %s "$1") -eq 0 ]]
@@ -74,20 +80,36 @@ main() {
waurl="http://web.archive.org/web/$(murl2url "${listingdir##*/content-dir/}/")"
msg="$waurl"
fi
- gitdate="$(sed -r 's/(....)(..)(..)(..)(..)(..)/\1-\2-\3T\4:\5:\6/' <<<"$time")"
+
+ HACK_TZ=-0500
+ if [[ "$branch" == BETA/CVTUTF-1-4 || "$branch" == ALPHA/CVTUTF-1-5-draft ]]; then
+ HACK_TZ=-0400
+ fi
+ HACK_NAME='Luke Shumaker'
+ HACK_EMAIL='lukeshu@lukeshu.com'
+
+ gitdate="$(sed -E 's/(....)(..)(..)(..)(..)(..)/\1-\2-\3T\4:\5:\6 '"$HACK_TZ"'/' <<<"$time")"
+
git add .
+
export GIT_AUTHOR_DATE=$gitdate
+ export GIT_AUTHOR_NAME=$HACK_NAME
+ export GIT_AUTHOR_EMAIL=$HACK_EMAIL
+
export GIT_COMMITTER_DATE=$gitdate
+ export GIT_COMMITTER_NAME=$HACK_NAME
+ export GIT_COMMITTER_EMAIL=$HACK_EMAIL
+
git commit --allow-empty -m "$msg"
if [[ "$branch" != *.OLD ]]; then
lastbranch="$branch"
fi
if [[ "$branch" == PROGRAMS/CVTUTF ]] && git log -n1 --stat|grep -qF 'ExpectedOutput.txt'; then
- git filter-branch -f --parent-filter 'cat; echo " -p BETA/CVTUTF-1-3"' HEAD^..HEAD
+ FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch -f --parent-filter 'cat; echo " -p BETA/CVTUTF-1-3"' HEAD^..HEAD
git update-ref -d refs/original/refs/heads/"$branch"
fi
if [[ "$branch" == PROGRAMS/CVTUTF.OLD ]] && git log -n1 --stat|grep -qi '.*\.c\s'; then
- git filter-branch -f --parent-filter 'cat; echo " -p PROGRAMS/CVTUTF^"' HEAD^..HEAD
+ FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch -f --parent-filter 'cat; echo " -p PROGRAMS/CVTUTF^"' HEAD^..HEAD
git update-ref -d refs/original/refs/heads/"$branch"
fi
fi
diff --git a/bin/poolify b/bin/poolify
index 6f9a109..b49cbd9 100755
--- a/bin/poolify
+++ b/bin/poolify
@@ -1,4 +1,10 @@
#!/usr/bin/env bash
+# Copyright (c) 2017, 2023 Luke Shumaker <lukeshu@lukeshu.com>
+#
+# This work is free. You can redistribute it and/or modify it under
+# the terms of the Do What The Fuck You Want To Public License,
+# Version 2, as published by Sam Hocevar. See the COPYING file for
+# more details.
url2murl() {
local x
@@ -13,14 +19,27 @@ main() {
set -euE -o pipefail
shopt -s nullglob
- echo '# Pass 1'
- declare -A rewrite
- rewrite[200109261739]=200303310700
- while read -r snap name date time size; do
+ arg_metadata_txt=$1
+ arg_index_txt=$2
+
+ # Overrides ############################################################
+
+ declare -A override_datetime
+ override_datetime[200109261739]=200303310700
+
+ override_synthetic_listings=(
+ #YYYYMMDDHHMM branch_name newfiles
+ '200307291500 ALPHA/CVTUTF-1-1 ExpectedOutput.txt readme.txt'
+ )
+
+ # Main #################################################################
+
+ echo '# Pass 1 (initialize snapshots from $arg_metadata_txt)'
+ while read -r snap name date time; do
dirpart="${name%/*}"
filepart="${name##*/}"
datetime="${date//-/}${time//:/}"
- datetime="${rewrite[$datetime]:-$datetime}"
+ datetime="${override_datetime[$datetime]:-$datetime}"
filedir=dat/pools/files/"${datetime}-${name//\//_}"
snapdir=dat/pools/snaps/"${snap}-${dirpart//\//_}"
if [[ -d "${filedir/.OLD/}" ]]; then
@@ -28,9 +47,9 @@ main() {
fi
mkdir -p -- "$filedir" "$snapdir"
ln -sr "$filedir/$filepart" "$snapdir"
- done < "$1"
+ done < "$arg_metadata_txt"
- echo '# Pass 1.5'
+ echo '# Pass 1.5 (initialize synthetic snapshots)'
# Looking at the data, there are 3 revisions that we DON'T
# have directory listings for. So we need to synthesize
# those.
@@ -39,7 +58,8 @@ main() {
# synthesizing anything, then looking for files ending in
# ".1". They are created during pass 2 if we have a file with
# no matching listing.
- while read -r datetime dirpart newfiles; do
+ for line in "${override_synthetic_listings[@]}"; do
+ read -r datetime dirpart newfiles <<<"$line"
# We need to figure out which files to put in the
# directory listing. We're going to do that by
# mimicking the previous listing with that dirpart.
@@ -65,20 +85,18 @@ main() {
rm -- "$snapdir/$filepart"
ln -sr "$filedir/$filepart" "$snapdir"
done
- done < <(printf '%s\n' \
- '200307291500 ALPHA/CVTUTF-1-1 ExpectedOutput.txt readme.txt' \
- )
+ done
- echo '# Pass 2'
+ echo '# Pass 2 (resolve files)'
while read -r time url; do
+ if [[ "$url" == */ ]]; then
+ # Skip directories
+ continue
+ fi
name="${url##*/Public/}"
dirpart="${name%/*}"
filepart="${name##*/}"
- if [[ -z "$filepart" ]]; then
- continue
- fi
-
pools=(dat/pools/files/*-"${name//\//_}")
if [[ "$name" = *.OLD* ]]; then
pname="${name//\//_}"
@@ -115,9 +133,9 @@ main() {
fi
i+=1
done
- done < "$2"
+ done < "$arg_index_txt"
- echo '# Pass 3'
+ echo '# Pass 3 (resolve missing files)'
while read -r missing; do
if [[ -f "${missing/.OLD}/${missing##*_}" ]]; then
ln -sr "${missing/.OLD}/${missing##*_}" "$missing"
diff --git a/bin/urlkey2url b/bin/urlkey2url
index 5d0ec3d..813e66f 100755
--- a/bin/urlkey2url
+++ b/bin/urlkey2url
@@ -1,4 +1,10 @@
#!/usr/bin/env bash
+# Copyright (c) 2017 Luke Shumaker <lukeshu@lukeshu.com>
+#
+# This work is free. You can redistribute it and/or modify it under
+# the terms of the Do What The Fuck You Want To Public License,
+# Version 2, as published by Sam Hocevar. See the COPYING file for
+# more details.
for arg in "$@"; do
keydomain="${arg%%)*}"
diff --git a/bin/wayfore b/bin/wayfore
deleted file mode 100755
index b0bde8a..0000000
--- a/bin/wayfore
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/sed -zrf
-# The opposite of 'wayback'
-s/(<[hH][eE][aA][dD]>).*<!-- End Wayback Rewrite JS Include -->/\1/
-s/<!-- BEGIN WAYBACK TOOLBAR INSERT -->.*<!-- END WAYBACK TOOLBAR INSERT -->//