X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fnotes%2Finfo_overload_report.sh;h=7dbd4fe8fbce4bf2d60826787e8e1c499f7b580c;hb=936edc460f256ba5ddba2ad1c80e8d278b9608cc;hp=d9275efa85a5513f3a00832dbd83519db507f93a;hpb=d18cd8304c44b5a0eb7e8d4399685a924c6f51fb;p=feisty_meow.git diff --git a/scripts/notes/info_overload_report.sh b/scripts/notes/info_overload_report.sh index d9275efa..7dbd4fe8 100644 --- a/scripts/notes/info_overload_report.sh +++ b/scripts/notes/info_overload_report.sh @@ -1,37 +1,126 @@ # these metrics are how bogged down we are in to-do type items. -REPORT_FILE="$HOME/quartz/history_info_overload.txt" +REPORT_FILE="$HOME/cloud/overload_history.txt" -# notes are individual files of tasks, usually, although some are combined. -note_depth=$(find ~/quartz/grunty_notes/ -type f -exec echo \"{}\" ';' | grep -v "\.svn" | grep -v "\.git" | wc -l | tr -d ' ') +# given a path, this will find how many items are under it, ignoring svn and git files, plus +# other patterns we happen to notice are not useful. +function calculate_depth() +{ + local dir="$1"; shift + depth=$(find "$dir" -type f -exec echo \"{}\" ';' 2>/dev/null | grep -v "\.svn" | grep -v "\.git"| grep -v "\.basket" | grep -v "\.version" | grep -v "\.keep" | wc -l | tr -d ' ') + if [ -z "$depth" ]; then echo 0; else echo "$depth"; fi +} -# the list files are web documents with to-do lists. individual items are marked with
  • . -item_depth=$(find ~/quartz/grunty_notes/ -type f -iname "*.html" -exec grep "/dev/null | grep -v "\.svn" | grep -v "\.git"| grep -v "\.basket" | grep -v "\.version" | grep -v "\.keep" | xargs ls -al | awk '{ print $5 }' | paste -sd+ | bc 2>/dev/null) + if [ -z "$weight" ]; then echo 0; else echo "$weight"; fi +} -# projects are slightly more productive, ongoing things that are very active. -project_depth=$(find ~/quartz/projects/ -type f -exec echo \"{}\" ';' | grep -v "\.svn" | grep -v "\.git" | wc -l | tr -d ' ') +# produces a report line in our format. +function format_report_line() +{ + local depth="$1"; shift + local weight="$1"; shift + weight=$((weight / 1024)) + echo " $depth\t${weight}kb\t$*\n" +} -# source examples need to be sucked into other places, other codebases. they are not -# supposed to pile up here. -source_example_depth=$(find ~/quartz/example_source_code/ -type f -exec echo \"{}\" ';' | grep -v "\.svn" | grep -v "\.git" | wc -l | tr -d ' ') +# two parameters are needed: the directory to sum up and the label to use for it in the report. +# this will calculate the depth and weight for a hierarchy of notes, and then produce a +# line of reporting for those. +function analyze_hierarchy_and_report() +{ + local dir="$1"; shift + local label="$1"; shift + local depth=$(calculate_depth "$dir") + total_overload=$(($depth + $total_overload)) + local weight=$(calculate_weight "$dir") + total_weight=$(($total_weight + $weight)) + full_report+=$(format_report_line "$depth" "$weight" "$label") +} + +# scans through items in the notes folder that begin with a pattern. +# each of those is treated as an aggregable portion of the report. +# first parameter is the title in the report, second and so on are +# a list of directory patterns to scan and aggregate. +function analyze_by_dir_patterns() +{ + local title="$1"; shift + local hier_depth=0 + local hier_weight=0 + for i in $@; do + temp_depth=$(calculate_depth $i) + hier_depth=$(($hier_depth + $temp_depth)) + temp_weight=$(calculate_weight $i) + hier_weight=$(($hier_weight + $temp_weight)) + done + total_overload=$(($hier_depth + $total_overload)) + total_weight=$(($total_weight + $hier_weight)) + full_report+=$(format_report_line "$hier_depth" "$hier_weight" "$title") +} + +############## -total_overload=$(($note_depth + $item_depth + $project_depth + $source_example_depth)) +# reset these before we add anything... +total_overload=0 +total_weight=0 -report="\ +# start out the report with a header. +full_report="\ \n\ Current information overload consists of:\n\ \n\ - $note_depth\tnote files\n\ - $item_depth\tto-do list items\n\ - $project_depth\tproject files\n\ - $source_example_depth\tsource examples\n\ - -------\n\ - $total_overload\ttotal items\n\ -\n\ -Gathered On: $(date)\n\ -\n\ +" + +# notes are individual files of tasks, usually, although some are combined. +analyze_hierarchy_and_report ~/cloud/grunty_notes "grunty notes" + +#### +#hmmm: make an html todo scanning function from this. +# scan web documents for to-do lists. individual items are marked with
  • . +# we do this one a bit differently since we have different criteria for html to-do items. +html_item_depth=$(find ~/cloud/grunty_notes/ -type f -iname "*.html" -exec grep "