68 lines
2.0 KiB
Fish
Executable File
68 lines
2.0 KiB
Fish
Executable File
#!/usr/bin/env fish
|
|
|
|
mkdir -p /dev/shm/logs
|
|
|
|
set logs (journalctl --user -e -n 99999 \
|
|
-u download@\* \
|
|
-u instagram@\* \
|
|
--no-pager \
|
|
| string replace -r \
|
|
"(^.*)(workstation download\[\d+\]\: )" "" \
|
|
| grep -F \[error\] -B 1)
|
|
|
|
for i in (seq 1 (count $logs))
|
|
set -l log $logs[$i]
|
|
if test (string match -r "\[error\]" $log)
|
|
if test (string match -r \
|
|
"NotFoundError\: Twitter suspends accounts" \
|
|
$log)
|
|
set -a filter_suspended $i
|
|
else if test (string match -r \
|
|
"Tweets are protected" $log)
|
|
set -a filter_protected $i
|
|
else if test (string match -r \
|
|
"Requested user could not be found" $log)
|
|
set -a filter_missing $i
|
|
else if test (string match -r \
|
|
"\[instagram\]\[error\] HttpError\: \'404 Not Found\'" $log)
|
|
set -a filter_missing $i
|
|
else if test (string match -r \
|
|
"Unable to retrieve Tweets from this timeline" $log)
|
|
set -a filter_empty $i
|
|
else
|
|
set -a filter_others $i
|
|
end
|
|
end
|
|
end
|
|
|
|
function _print_accounts -a filter_name --inherit-variable logs
|
|
set i_list $argv[3..-1]
|
|
for i in $i_list
|
|
set regex "\[\d+\/\d+\] "
|
|
set log $logs[(math $i-1)]
|
|
if test (string match -r $regex $log)
|
|
string replace -r $regex "" $log >>/dev/shm/logs/$filter_name
|
|
end
|
|
end
|
|
if test -e /dev/shm/logs/$filter_name
|
|
echo "The following accounts are $filter_name:"
|
|
for line in (cat /dev/shm/logs/$filter_name | sort | uniq)
|
|
echo "- " $line
|
|
end
|
|
echo ""
|
|
end
|
|
end
|
|
|
|
_print_accounts suspended $filter_suspended
|
|
_print_accounts protected $filter_protected
|
|
_print_accounts missing $filter_missing
|
|
_print_accounts empty $filter_empty
|
|
|
|
echo "The following accouns have other errors:"
|
|
for i in $filter_others
|
|
echo $logs[(math $i-1)]
|
|
echo $logs[$i]
|
|
end
|
|
|
|
command rm -rf /dev/shm/logs
|