First commit
This commit is contained in:
commit
fbe2934718
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
longnowformd (0.1-1) bionic; urgency=medium
|
||||
|
||||
* Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>
|
||||
|
||||
-- Nuno Sempere <nuno.semperelh@gmail.com> Mon, 28 Jun 2021 12:18:50 +0200
|
15
debian/control
vendored
Normal file
15
debian/control
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
Source: longnowformd
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Maintainer: Nuno Sempere <nuno.semperelh@gmail.com>
|
||||
Build-Depends: debhelper-compat (= 12)
|
||||
Standards-Version: 4.4.1
|
||||
Homepage: <insert the upstream URL, if relevant>
|
||||
#Vcs-Browser: https://salsa.debian.org/debian/longnowformd
|
||||
#Vcs-Git: https://salsa.debian.org/debian/longnowformd.git
|
||||
|
||||
Package: longnowformd
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}
|
||||
Description: <insert up to 60 chars description>
|
||||
<insert long description, indented with spaces>
|
40
debian/copyright
vendored
Normal file
40
debian/copyright
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: longnowformd
|
||||
Upstream-Contact: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
|
||||
Source: <url://example.com>
|
||||
|
||||
Files: *
|
||||
Copyright: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
|
||||
License: MIT
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2021 Nuno Sempere <nuno.semperelh@gmail.com>
|
||||
License: MIT
|
||||
|
||||
License: MIT
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# Please also look if there are files or directories which have a
|
||||
# different copyright/license attached and list them here.
|
||||
# Please avoid picking licenses with terms that are more restrictive than the
|
||||
# packaged work, as it may make Debian's contributions unacceptable upstream.
|
||||
#
|
||||
# If you need, there are some extra license texts available in two places:
|
||||
# /usr/share/debhelper/dh_make/licenses/
|
||||
# /usr/share/common-licenses/
|
1
debian/install
vendored
Normal file
1
debian/install
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
longnowformd.sh usr/bin
|
25
debian/rules
vendored
Executable file
25
debian/rules
vendored
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/make -f
|
||||
# See debhelper(7) (uncomment to enable)
|
||||
# output every command that modifies files on the build system.
|
||||
#export DH_VERBOSE = 1
|
||||
|
||||
|
||||
# see FEATURE AREAS in dpkg-buildflags(1)
|
||||
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
|
||||
# see ENVIRONMENT in dpkg-buildflags(1)
|
||||
# package maintainers to append CFLAGS
|
||||
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
|
||||
# package maintainers to append LDFLAGS
|
||||
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
||||
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
|
||||
# dh_make generated override targets
|
||||
# This is example for Cmake (See https://bugs.debian.org/641051 )
|
||||
#override_dh_auto_configure:
|
||||
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)
|
||||
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (quilt)
|
93
longnowformd.sh
Normal file
93
longnowformd.sh
Normal file
|
@ -0,0 +1,93 @@
|
|||
function getMdLinks(){ # Use: Takes a markdown file file.md, extracts all links, finds the unique ones and saves them to file.md.links
|
||||
echo ""
|
||||
echo "Extracting links..."
|
||||
|
||||
grep -Eoi '\]\((.*)\)' $1 | grep -Eo '(http|https)://[^)]+' >> "$1.links"
|
||||
## sed -i 's/www.wikiwand.com\/en/en.wikipedia.org\/wiki/g' $1
|
||||
awk '!seen[$0]++' "$1.links" > "$1.links2" && mv "$1.links2" "$1.links"
|
||||
|
||||
echo "Done."
|
||||
echo ""
|
||||
}
|
||||
|
||||
function pushToArchive(){
|
||||
# Use: Takes a txt file with one link on each line and pushes all the links to the internet archive. Saves those links to a textfile
|
||||
# References:
|
||||
# https://unix.stackexchange.com/questions/181254/how-to-use-grep-and-cut-in-script-to-obtain-website-urls-from-an-html-file
|
||||
# https://github.com/oduwsdl/archivenow
|
||||
# For the double underscore, see: https://stackoverflow.com/questions/13797087/bash-why-double-underline-for-private-functions-why-for-bash-complet/15181999
|
||||
echo "Pushing to archive.org..."
|
||||
|
||||
input=$1
|
||||
counter=1
|
||||
|
||||
rm -f "$1.archived"
|
||||
touch "$1.archived"
|
||||
|
||||
while IFS= read -r line
|
||||
do
|
||||
wait
|
||||
if [ $(($counter % 15)) -eq 0 ]
|
||||
then
|
||||
printf "\nArchive.org doesn't accept more than 15 links per min; sleeping for 1min...\n"
|
||||
sleep 1m
|
||||
fi
|
||||
echo "Url: $line"
|
||||
archiveURL=$(archivenow --ia $line)
|
||||
echo $archiveURL >> "$1.archived"
|
||||
echo $archiveURL
|
||||
counter=$((counter+1))
|
||||
echo ""
|
||||
done < "$input"
|
||||
|
||||
echo "Done."
|
||||
echo ""
|
||||
}
|
||||
|
||||
function addArchiveLinksToFile(){
|
||||
|
||||
originalFile="$1"
|
||||
originalFileTemp="$originalFile.temp"
|
||||
linksFile="$1.links"
|
||||
archivedLinksFile="$1.links.archived"
|
||||
longNowFile="$1.longnow"
|
||||
|
||||
echo "Creating longnow file @ $longNowFile..."
|
||||
|
||||
rm -f "$longNowFile"
|
||||
touch "$longNowFile"
|
||||
cp "$originalFile" "$originalFileTemp"
|
||||
|
||||
while IFS= read -r url
|
||||
do
|
||||
wait
|
||||
|
||||
archivedUrl=$(grep "$url" "$archivedLinksFile" | tail -1)
|
||||
## echo "Url: $url"
|
||||
## echo "ArchivedUrl: $archivedUrl"
|
||||
urlForSed="${url//\//\\/}"
|
||||
archiveUrlForSed="${archivedUrl//\//\\/}"
|
||||
sed -i "s/$urlForSed)/$urlForSed) ([a]($archiveUrlForSed))/g" "$1"
|
||||
done < "$linksFile"
|
||||
mv "$originalFile" "$longNowFile"
|
||||
mv "$originalFileTemp" "$originalFile"
|
||||
|
||||
echo "Done."
|
||||
|
||||
}
|
||||
|
||||
function longnow(){
|
||||
doesArchiveNowExist=$(whereis "archivenow")
|
||||
if [ "$doesArchiveNowExist" == "archivenow:" ]
|
||||
then
|
||||
echo "Required archivenow utility not found in path."
|
||||
echo "Install with \$ pip install archivenow"
|
||||
echo "(resp. \$ pip3 install archivenow)"
|
||||
echo "Or follow instructions on https://github.com/oduwsdl/archivenow"
|
||||
else
|
||||
getMdLinks $1
|
||||
pushToArchive $1.links
|
||||
addArchiveLinksToFile $1
|
||||
fi
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user