gsl-statique-litterateur/usr/local/bin/gsl

180 lines
4.8 KiB
Bash
Executable File

#!/bin/bash
#=======================================================================
# Checking Dependancies
#=======================================================================
# Get Tools
! [[ -f "/var/lib/gsl/scripts/gsl__tools" ]] \
&& echo "! Missing file: /var/lib/gsl/scripts/gsl__tools" \
&& return
source "/var/lib/gsl/scripts/gsl__tools"
# Get conf
gsl__check_source "/etc/gsl/gsl.conf" || exit 1
# Get Logs Manager
gsl__check_source "$gsl_dir_scripts/gsl__log_manager" || exit 1
# Check/Create Files and Folders
gsl__create_ff
#=======================================================================
# Main
#=======================================================================
case "$1" in
author|-A)
gsl__find_domain && exit 1
gsl__check_source "$gsl_dir_scripts/gsl__auth_manager" || exit 1
echo "# Domain: $gsl_find_domain"
case "$2" in
"")
gsl__authors_list
;;
add)
gsl__logs_print \
"$gsl_log_i" \
"Starting" \
"Process" \
"Add Author for domain $gsl_find_domain" \
"Domain: $gsl_find_domain"
gsl__authors_add
gsl__logs_print \
"$gsl_log_i" \
"Stopping" \
"Process" \
"Add Author for domain $gsl_find_domain" \
"Domain: $gsl_find_domain"
;;
remove)
gsl__logs_print \
"$gsl_log_i" \
"Starting" \
"Process" \
"Remove Author for domain $gsl_find_domain" \
"Domain: $gsl_find_domain"
gsl__authors_remove
gsl__logs_print \
"$gsl_log_i" \
"Stopping" \
"Process" \
"Remove Author for domain $gsl_find_domain" \
"Domain: $gsl_find_domain"
;;
esac
;;
new|-N)
gsl__check_source "$gsl_dir_scripts/gsl__new_website" || exit 1
gsl__logs_print \
"$gsl_log_i" \
"Starting" \
"Process" \
"New Website" \
"$gsl_dir_scripts/gsl__new_website"
gsl__new_website
gsl__logs_print \
"$gsl_log_i" \
"Stopping" \
"Process" \
"New Website" \
"$gsl_dir_scripts/gsl__new_website"
gsl author add
;;
log|-L)
[[ -z `grep '[^[:space:]]' "$gsl_file_logs"` ]] \
&& echo "# No logs to show. File is empty." \
&& exit
while test "$2"
do
case "$2" in
clean|-C)
gsl_date_logs=`date +%F-%H-%M-%S`
mv "$gsl_file_logs" "$gsl_dir_logs/$gsl_date_logs.gsl.log"
rm -f "$gsl_file_logs"
printf '%s %s %s\n' \
"# Logs saved to" \
"$gsl_dir_logs/$gsl_date_logs.gsl.log" \
"and cleaned"
exit
;;
-s) gsl_logs_last_session=true ;;
-e) gsl_logs_err=true ;;
-i) gsl_logs_inf=true ;;
-w) gsl_logs_war=true ;;
*) gsl_logs_search="$2" ;;
esac
shift
done
gsl__logs_show
;;
check|-C)
gsl__find_domain && exit 1
gsl__check_source "$gsl_dir_scripts/gsl__auth_manager" || exit 1
gsl__authors_list check && exit 1
gsl__check_source "$gsl_dir_scripts/gsl__post_manager" || exit 1
gsl__check_source "$gsl_dir_scripts/gsl__post_checkers" || exit 1
gsl__check_nbr_posts && exit 1
gsl__check_source "$gsl_dir_scripts/gsl__db_manager" || exit 1
gsl__logs_print \
"$gsl_log_i" \
"Starting" \
"Process" \
"Check Post for domain $gsl_find_domain" \
"${PWD}"
gsl__logs_print \
"$gsl_log_i" \
"Found" \
"Posts" \
"$gsl_nbr_posts" \
"${PWD}"
gsl__loop_posts check
gsl__logs_print \
"$gsl_log_i" \
"Stopping" \
"Process" \
"Check Post for domain $gsl_find_domain" \
"${PWD}"
;;
readme)
if [[ -f "/var/lib/gsl/README.md" ]];then
clear
cat /var/lib/gsl/README.md
else
echo "! Missing file: /var/lib/gsl/README.md"
fi
;;
help|--help|-h)
gsl__check_file "$gsl_dir_helps/gsl_help" || exit 1
clear
case "$2" in
"")
cat "$gsl_dir_helps/gsl_help"
;;
new)
gsl__check_file "$gsl_dir_helps/gsl_infos_new_website" \
|| exit 1
cat "$gsl_dir_helps/gsl_infos_new_website"
;;
install)
gsl__check_file "$gsl_dir_helps/gsl_help_install" \
|| exit 1
cat "$gsl_dir_helps/gsl_help_install"
;;
esac
;;
esac