145 lines
4.2 KiB
Bash
145 lines
4.2 KiB
Bash
#!/bin/bash
|
|
# file: gsl__stats
|
|
# Folder: /var/lib/gsl/scripts
|
|
# By echolib (XMPP: im@echolib.re)
|
|
# License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
|
|
|
|
|
|
#======================================================================
|
|
# Init Stats | Called from Checkers()
|
|
#======================================================================
|
|
stats__init() {
|
|
gsl_stat_po=0;gsl_stat_pc=0 # paragraphs
|
|
gsl_stat_bq=0
|
|
gsl_stat_abbrs=0
|
|
gsl_stat_links=0
|
|
gsl_stat_links_online=0
|
|
gsl_stat_flinks=0
|
|
gsl_stat_images=0
|
|
gsl_stat_fcodes=0
|
|
gsl_stat_fbruts=0
|
|
gsl_stat_strongs=0
|
|
gsl_stat_bolds=0
|
|
gsl_stat_italics=0
|
|
gsl_stat_icodes=0
|
|
gsl_stat_strikes=0
|
|
gsl_stat_titles=0
|
|
}
|
|
|
|
|
|
#======================================================================
|
|
# Called from stats ; Counting datas from db
|
|
#======================================================================
|
|
stats__datas() {
|
|
gsl_file_sti="$site_server/$domain_name/www/gsl-sti.properties"
|
|
|
|
# Basic
|
|
stat_authors_max=`cat "$gsl_file_domain_authors" | wc -l`
|
|
|
|
# Init WWW stats
|
|
stat_articles_www=0
|
|
stat_articles_pages_www=0
|
|
stat_articles_posts_www=0
|
|
stat_articles_tags_www=0
|
|
stat_articles_words_www=0
|
|
stat_articles_quotes_www=0
|
|
stat_articles_paragraphs_www=0
|
|
stat_articles_links_www=0
|
|
stat_articles_links_online_www=0
|
|
stat_articles_lists_www=0
|
|
stat_articles_lists_items_www=0
|
|
stats_articles_max_images_www=0
|
|
|
|
# Counting Stats
|
|
while IFS=: read -r "filename" "status"
|
|
do
|
|
source "$filename"
|
|
! (( $article_Status_www> 0 )) && continue
|
|
|
|
((stat_articles_www++))
|
|
|
|
case "$article_Type" in
|
|
post) ((stat_articles_posts_www++)) ;;
|
|
page) ((stat_articles_pages_www++)) ;;
|
|
esac
|
|
|
|
stat_articles_tags_www=$(( stat_articles_tags_www + stat_Tags ))
|
|
stat_articles_words_www=$((stat_articles_words_www + stat_Words ))
|
|
stat_articles_quotes_www=$((stat_articles_quotes_www + stat_Quotes ))
|
|
stat_articles_paragraphs_www=$((stat_articles_paragraphs_www + stat_Paragraphs ))
|
|
stat_articles_links_www=$(( stat_articles_links_www + stat_Links ))
|
|
stat_articles_links_online_www=$(( stat_articles_links_online_www + stat_Links_Online ))
|
|
stat_articles_lists_www=$(( stat_articles_lists_www + stat_Lists ))
|
|
stat_articles_lists_items_www=$(( stat_articles_lists_items_www + stat_Lists_Items ))
|
|
stats_articles_max_images_www=$(( stats_articles_max_images_www + stat_max_Images ))
|
|
|
|
unset ${!article_@}
|
|
done < <(grep -H "article_Status_www" "$gsl_dir_db_domain/"*.db)
|
|
|
|
cat <<EOSTATS > "$gsl_file_sti"
|
|
gsl.articles = $stat_articles_www
|
|
gsl.articles.pages = $stat_articles_pages_www
|
|
gsl.articles.posts = $stat_articles_posts_www
|
|
gsl.authors = $stat_authors_max
|
|
gsl.articles.tags = $stat_articles_tags_www
|
|
gsl.articles.words = $stat_articles_words_www
|
|
gsl.articles.quotes = $stat_articles_quotes_www
|
|
gsl.articles.paragraphs = $stat_articles_paragraphs_www
|
|
gsl.articles.links = $stat_articles_links_www
|
|
gsl.articles.links.online = $stat_articles_links_online_www
|
|
gsl.articles.lists = $stat_articles_lists_www
|
|
gsl.articles.lists.items = $stat_articles_lists_items_www
|
|
gsl_articles.images = $stats_articles_max_images_www
|
|
EOSTATS
|
|
|
|
echo "# Statoolinfos: $gsl_file_sti"
|
|
exit
|
|
}
|
|
|
|
|
|
#======================================================================
|
|
# Stat: Count words and misc | Done with check command
|
|
# $1: gsl_tmp_èpost
|
|
#======================================================================
|
|
Stat__words() {
|
|
# Global Words
|
|
gsl_stat_words=`cat "$1" | wc -w`
|
|
gsl_total_images=`grep "_image:" $1 | wc -l`
|
|
gsl_total_fcodes=`grep "_code:" $1 | wc -l`
|
|
gsl_total_fbruts=`grep "_brut:" $1 | wc -l`
|
|
|
|
# Lists
|
|
(( $gsl_stat_lists > 0 )) \
|
|
&& gsl_list_items=`grep "^=\|^+" "$1" | wc -l` \
|
|
|| gsl_list_items=0
|
|
|
|
# Quotes
|
|
(( $gsl_stat_bq > 0 )) \
|
|
&& gsl_bq_items=`grep "^_year\|^_cite\|_lang\|_book\|_link" "$1" | wc -w` \
|
|
|| gsl_bq_items=0
|
|
|
|
echo "bq items> $gsl_bq_items"
|
|
gsl_stat_words=\
|
|
$(( gsl_stat_words \
|
|
- 2*gsl_stat_p \
|
|
- 2*gsl_stat_bq \
|
|
- 2*gsl_stat_lists \
|
|
- gsl_list_items \
|
|
- gsl_bq_items \
|
|
- gsl_stat_titles \
|
|
- gsl_total_fbrut \
|
|
- gsl_total_fcode \
|
|
- gsl_total_images \
|
|
))
|
|
|
|
gsl_log_stats=`
|
|
printf '%s %s %s\n' \
|
|
"W=$gsl_stat_words ; T=$gsl_stat_titles ; P=$gsl_stat_p ;" \
|
|
"I=$gsl_total_images ; Q=$gsl_stat_bq ;" \
|
|
"L=$gsl_stat_lists ($gsl_list_items)"`
|
|
|
|
gsl__logs_print -i -st -c \
|
|
"$gsl_log_stats" \
|
|
"${PWD}/$gsl_post"
|
|
}
|