Added script for generating docs for newly added files
This commit is contained in:
parent
3fda8afba9
commit
0fbda526d0
1 changed files with 60 additions and 0 deletions
60
generate_missing_docs.sh
Executable file
60
generate_missing_docs.sh
Executable file
|
@ -0,0 +1,60 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
latest_docs_commit=$(git log ./docs | head -1 | cut -d' ' -f 2)
|
||||||
|
code_dirs='platypush/plugins platypush/backend platypush/message/event'
|
||||||
|
target_dir='docs/source/platypush'
|
||||||
|
|
||||||
|
git diff --name-status $latest_docs_commit..HEAD $code_dirs \
|
||||||
|
| grep '^A' | grep '\.py$' | awk '{print $2}' | while read filename; do
|
||||||
|
|
||||||
|
module_name=$(echo -n $filename | sed -r -e 's/(.*)\.py$/\1/' | tr '/' '.')
|
||||||
|
|
||||||
|
case $filename in
|
||||||
|
platypush/backend/*)
|
||||||
|
target_file="$target_dir/backend/$(echo -n $filename | sed -r -e 's/^platypush\/backend\/(.*)\.py$/\1.rst/' | tr '/' '.')"
|
||||||
|
;;
|
||||||
|
platypush/plugins/*)
|
||||||
|
target_file="$target_dir/plugins/$(echo -n $filename | sed -r -e 's/^platypush\/plugins\/(.*)\.py$/\1.rst/' | tr '/' '.')"
|
||||||
|
;;
|
||||||
|
platypush/message/event/*)
|
||||||
|
target_file="$target_dir/events/$(echo -n $filename | sed -r -e 's/^platypush\/message\/event\/(.*)\.py$/\1.rst/' | tr '/' '.')"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
backticks='``'
|
||||||
|
header_top="$backticks$module_name$backticks"
|
||||||
|
echo "$header_top" > "$target_file"
|
||||||
|
perl -e "print '=' x length('$header_top')" >> "$target_file"
|
||||||
|
echo >> "$target_file"
|
||||||
|
echo >> "$target_file"
|
||||||
|
echo ".. automodule:: $module_name" >> "$target_file"
|
||||||
|
echo -e "\t:members:" >> $target_file
|
||||||
|
echo >> "$target_file"
|
||||||
|
|
||||||
|
case $filename in
|
||||||
|
platypush/backend/*)
|
||||||
|
index_file="$target_dir/../backends.rst"
|
||||||
|
header=$(cat $index_file | head -8)
|
||||||
|
files=$(find docs/source/platypush/backend -type f -name '*.rst' | sort | sed -r -e 's/^docs\/source\/(.*)$/ \1/')
|
||||||
|
echo $"$header" > $index_file
|
||||||
|
echo $"$files" >> $index_file
|
||||||
|
;;
|
||||||
|
platypush/plugins/*)
|
||||||
|
index_file="$target_dir/../plugins.rst"
|
||||||
|
header=$(cat $index_file | head -7)
|
||||||
|
files=$(find docs/source/platypush/plugins -type f -name '*.rst' | sort | sed -r -e 's/^docs\/source\/(.*)$/ \1/')
|
||||||
|
echo $"$header" > $index_file
|
||||||
|
echo >> $index_file
|
||||||
|
echo $"$files" >> $index_file
|
||||||
|
;;
|
||||||
|
platypush/message/event/*)
|
||||||
|
index_file="$target_dir/../events.rst"
|
||||||
|
header=$(cat $index_file | head -7)
|
||||||
|
files=$(find docs/source/platypush/events -type f -name '*.rst' | sort | sed -r -e 's/^docs\/source\/(.*)$/ \1/')
|
||||||
|
echo $"$header" > $index_file
|
||||||
|
echo >> $index_file
|
||||||
|
echo $"$files" >> $index_file
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
Loading…
Reference in a new issue