Commit 94ebe04d authored by Vitaly Lipatov's avatar Vitaly Lipatov

eget: extract __filter_comments, deduplicate read_urls_from_file

parent c1f8a89c
...@@ -2198,31 +2198,29 @@ sget() ...@@ -2198,31 +2198,29 @@ sget()
url_sget "$@" url_sget "$@"
} }
# Filter stdin: strip whitespace, skip empty lines and comments
__filter_comments()
{
local line
while IFS= read -r line ; do
line="$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
[ -z "$line" ] && continue
case "$line" in \#*) continue ;; esac
echo "$line"
done
}
# Read URLs from file, skip empty lines and comments # Read URLs from file, skip empty lines and comments
read_urls_from_file() read_urls_from_file()
{ {
local file="$1" local file="$1"
local line
if [ "$file" = "-" ] ; then if [ "$file" = "-" ] ; then
# Read from stdin __filter_comments
while IFS= read -r line ; do
line="$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
[ -z "$line" ] && continue
echo "$line" | grep -q '^[[:space:]]*#' && continue
echo "$line"
done
else else
# Read from file
[ ! -f "$file" ] && fatal "Error: input file '$file' not found" [ ! -f "$file" ] && fatal "Error: input file '$file' not found"
[ ! -r "$file" ] && fatal "Error: input file '$file' is not readable" [ ! -r "$file" ] && fatal "Error: input file '$file' is not readable"
__filter_comments < "$file"
while IFS= read -r line ; do
line="$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
[ -z "$line" ] && continue
echo "$line" | grep -q '^[[:space:]]*#' && continue
echo "$line"
done < "$file"
fi fi
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment