From 49cf0a6d948eb07a262bad30b030177f219f95b7 Mon Sep 17 00:00:00 2001 From: filip Date: Wed, 12 Jul 2017 00:19:53 +0200 Subject: adding a script for fetching EPUB and PDF files from http://docteam.mageia.nl and copy properly named file to git --- mageia_doc_binaries.sh | 116 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100755 mageia_doc_binaries.sh diff --git a/mageia_doc_binaries.sh b/mageia_doc_binaries.sh new file mode 100755 index 00000000..2d7a8ad4 --- /dev/null +++ b/mageia_doc_binaries.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# +# Fetch EPUB and PDF files from http://docteam.mageia.nl and copy properly named file to git +# +# Filip Komar, June 2017 +# @license GPL v2 +# @author Filip +# @copyright 2017 + +function rename_binary { + doc_regex="(.+)($1)-(cover-)?(.+)-(PDF|EPUB).(.+)" + doc_dir_prefix="$download_dir/doc/mga$release" + doc_dir="$doc_dir_prefix/$2/*" + languages="" + for dir_filename in $(\ls -d $doc_dir) + do + [[ "$dir_filename" =~ $doc_regex ]] + # echo "${a,,}" # bash 4 lower case + manual=${BASH_REMATCH[2]} + language=${BASH_REMATCH[4],,} + extension=${BASH_REMATCH[6],,} + new_name="Mageia$release-$manual-$language.$extension" + check=${#BASH_REMATCH[0]} + if [ $check -ge 1 ]; then + # option fo skip certain files if needed (currently pdf) + # skip_languages=( "cs" "el" "jp" "ru" "sl" "tg" "uk" "zh-cn" ) + # skip_this_language=$( printf "%s\n" "${skip_languages[@]}" | grep -n -m 1 "^${language}$" | cut -d ":" -f1 ) + + if [[ $extension == 'pdf' && -n $skip_this_language ]]; then + echo -e "\E[31m" + echo "Language $language skiped for $extension in $manual." + echo -e "\E[m" + else + # echo $new_name + languages="$languages|$language" + mkdir --parents "$local_git/doc_binaries_for_website/mga$release/$extension/$manual" + # set copying options (-i: interactive, -v: verbose, -u: update, -r: recursive) + cp -u "$dir_filename" "$local_git/doc_binaries_for_website/mga$release/$extension/$manual/$new_name" + git add "doc_binaries_for_website/mga$release/$extension/$manual/$new_name" + git_clean=`git diff --name-only` + if [ ! -z $git_clean ]; then + commit_needed="yes" + fi + fi + else + echo -e "\E[31m" + echo "Manual file $1 in $2 missed by regex: $dir_filename" + echo -e "\E[m" + fi + done + echo -n "manual $1 ($2) is in languages: " >> "$list_file" + echo $languages | cut -c 2- >> "$list_file" + git commit -m "adding and updating $1 $extension manual for release $release" +} + +if [ -z "$2" ]; then + echo "Usage: mageia_doc.sh \"/mirror/dir_name/\" \"/local_git/dir_name/\"" + exit 2 +else + download_dir="$1" + local_git="$2" +fi + +git_clean=`git diff --name-only` +if [ ! -z $git_clean ]; then + echo "Please commit changes first" + git status + exit 2 +fi + +# save pwd to saved_dir +saved_dir=$(pwd) +cd "$local_git" + +release=6 +list_file="$download_dir/doc/mga$release/manuals_in_languages.txt" + +wget_options="--directory-prefix=$download_dir/doc/mga$release --timestamping --no-host-directories --recursive --no-parent --quiet" + +echo "Mageia PDF and EPUB management tool (current release=$release):" +echo '' + +echo 'Downloading EPUB files...' +wget $wget_options --accept epub http://docteam.mageia.nl/EPUB/ + +echo 'Downloading PDF files...' +wget $wget_options --accept pdf http://docteam.mageia.nl/PDF/ + +echo "Manuals in PDF and EPUB form are available in languages: " > "$list_file" + +echo 'Renaming and pushing to git...' +rename_binary 'DrakX' 'EPUB/installer' +rename_binary 'DrakX' 'PDF/installer' + +rename_binary 'MCC' 'EPUB/MCC' +rename_binary 'MCC' 'PDF/MCC' + +rename_binary 'NetInstall' 'EPUB/netinstall' +rename_binary 'NetInstall' 'PDF/netinstall' + +rename_binary 'DrakLive' 'EPUB/draklive' +rename_binary 'DrakLive' 'PDF/draklive' + +if [ "$commit_needed" == "yes" ]; then + echo Mageia 6 > "$local_git/doc_binaries_for_website/mga$release/date.txt" + LC_ALL=C date -u >> "$local_git/doc_binaries_for_website/mga$release/date.txt" + git add "doc_binaries_for_website/mga$release/date.txt" + git commit -m "adding/updating date.txt file (mirror upload date check) for release $release" +fi + +echo "" +echo "List file shown bellow is here: $list_file" +cat "$list_file" + +# restore saved_dir +cd "$saved_dir" -- cgit v1.2.1