From ef454290322d19fadc4525b7ccf0338683c9ef5b Mon Sep 17 00:00:00 2001 From: david Date: Thu, 26 Jul 2018 22:00:46 +0200 Subject: Improved a few commands with jq -r --- subprojects/freeamo/src/make-wiki | 4 +- subprojects/freeamo/src/make-wiki (copy) | 224 ------------------------- subprojects/freeamo/src/unmaintained/bad_names | 4 +- 3 files changed, 4 insertions(+), 228 deletions(-) delete mode 100644 subprojects/freeamo/src/make-wiki (copy) diff --git a/subprojects/freeamo/src/make-wiki b/subprojects/freeamo/src/make-wiki index 94761b4..657430d 100644 --- a/subprojects/freeamo/src/make-wiki +++ b/subprojects/freeamo/src/make-wiki @@ -137,8 +137,8 @@ while IFS= read -r table; do fi - support_url=$(jq .results[$entry].support_url "$file" | sed "s|en-US|enUS|;" | jq .enUS | sed "s|^\"||; s|\"$||;"); - last_updated=$(jq .results[$entry].last_updated $file | sed "s|^\"||; s|\"$||;" | sed "s|T|\n|" | head -n 1 | sed "s|-|/|g"); + support_url=$(jq .results[$entry].support_url "$file" | sed "s|en-US|enUS|;" | jq -r .enUS); + last_updated=$(jq -r .results[$entry].last_updated $file | sed "s|T|\n|" | head -n 1 | sed "s|-|/|g"); # List JSON structure: cat json/$file | js '.' # XML value "homepage" is not always set in AMO API, but the XML require "Homepage URL" to be set: Therfore we use the AMO page itself in Homepage URL to complete the build of the repo automatically. diff --git a/subprojects/freeamo/src/make-wiki (copy) b/subprojects/freeamo/src/make-wiki (copy) deleted file mode 100644 index a122592..0000000 --- a/subprojects/freeamo/src/make-wiki (copy) +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/env bash -# This file is part of FreeAMO -# Copyright (C) 2018 David Hedlund -# -# FreeAMO is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# FreeAMO is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -cd "build/json/search-pages" || exit - -if [ "$minimum_average_daily_users" == "100000" ]; then - - echo "{| class=\"wikitable sortable\" border=\"1\" style=\"font-size:smaller\" -! WebExtension -! Description -! Claimed license -! Users -! Rating -! Updated -! Featured" > "$run_path/build/IceCat WebExtensions - Most Users (proposed).wiki" - -fi - -output_file="$output_file_2"; - -if [ "$debug" = true ]; then - - pv__size=$(cat "$output_file_2" | head -n 3 | wc -l) - -else - - pv__size=$(cat "$output_file_2" | wc -l) - -fi - -source "$run_path/src/main_functions" - -echo "Generate $pv__size .wiki pages." - -while IFS= read -r table; do - - ((++line)) - - if [ "$debug" = true ] && [ "$line" -le "3" ] || [ "$debug" = false ] ; then - - file=$(echo "$table" | awk '{print $1}'); - entry=$(echo "$table" | awk '{print $2}'); - - source "$run_path/src/main_functions" - amo_variables - amo_variables__licenses - - if [ "$license__amo_full_name" == "BSD License" ]; then license__fsd_short_name="BSD 2Clause"; - elif [ "$license__amo_full_name" == "GNU General Public License, version 3.0" ]; then license__fsd_short_name="GPLv3"; - elif [ "$license__amo_full_name" == "GNU General Public License, version 2.0" ]; then license__fsd_short_name="GPLv2"; - elif [ "$license__amo_full_name" == "GNU Lesser General Public License, version 3.0" ]; then license__fsd_short_name="LGPLv3"; - elif [ "$license__amo_full_name" == "GNU Lesser General Public License, version 2.1" ]; then license__fsd_short_name="LGPLv2.1"; - elif [ "$license__amo_full_name" == "MIT/X11 License" ]; then license__fsd_short_name="X11"; - elif [ "$license__amo_full_name" == "Mozilla Public License, version 2.0" ]; then license__fsd_short_name="MPLv2.0"; - elif [ "$license__amo_full_name" == "Mozilla Public License Version 1.1" ]; then license__fsd_short_name="MPLv1.1"; - fi - - # Start description code - - source "$run_path/src/main_functions" - locale_description="summary" - locale_description - locale_description="description" - locale_description - short_description=$(echo "$summary" | format_description) - full_description=$(echo "$description" | format_description) - - # End description code - - # The homepage field is mandatory so let's remove "null" from it because we don't need to evaluat it - homepage_url=$(jq .results[$entry].homepage "$file" | sed "s|en-US|enUS|;" | jq .enUS | sed "s|^\"||; s|\"$||;" | sed "s|null||"); - license_copyright=$(jq .results[$entry].authors[].name "$file" | sed "s|^\"||; s|\"$||;"); - bayesian_average=$(jq .results[$entry].ratings.bayesian_average "$file"); - bayesian_average__simple=$(printf "%.1f" "${bayesian_average//./,}"); - - is_featured=$(jq .results[$entry].is_featured "$file"); - - last_review_date=$(date +"%Y/%m/%d"); - last_review_by="$mediawikibot__bot_password__Username"; - submitted_by="$mediawikibot__bot_password__Username"; - - if [[ "$(jq .results[$entry].current_version.compatibility.seamonkey "$file")" != "null" ]]; then - set_seamonkey="Iceape,"; - fi - - if [[ "$(jq .results[$entry].current_version.compatibility.firefox "$file")" != "null" ]]; then - set_icecat="IceCat,"; - fi - - # if [[ "$(jq .results[$entry].current_version.compatibility.android $file)" != "null" ]] || [[ "$(jq .results[$entry].current_version.compatibility.mobile $file)" != "null" ]]; then - # set_icecatmobile="IceCatMobile,"; - # fi - - if [[ "$(jq .results[$entry].current_version.compatibility.thunderbird "$file")" != "null" ]]; then - set_thunderbird="Icedove,"; - fi - - # Do not list IceCatMobile - extension_of=$(echo "$set_seamonkey$set_icecat$set_thunderbird" | sed "s|,$||;"); - - - - github_true=$(echo "$homepage_url" | grep "github.com"); - - if [[ $github_true != "" ]]; then - - # Always use https, and remove anchors - homepage_url__for__vcs_checkout_command="https://github.com$(echo "$github_true" | sed "s|https://github.com||; s|http://github.com||; s|#|\\n|;" | head -n 1)"; - # Remove trailing slash - homepage_url__for__vcs_checkout_command="${homepage_url__for__vcs_checkout_command%/}" - vcs_checkout_command="git clone $homepage_url__for__vcs_checkout_command.git"; - - fi - - if [ "$name" == "GNU LibreJS" ]; then - - is_gnu="Yes"; - - else - - is_gnu="No"; - - fi - - support_url=$(jq .results[$entry].support_url "$file" | sed "s|en-US|enUS|;" | jq .enUS | sed "s|^\"||; s|\"$||;"); - last_updated=$(jq .results[$entry].last_updated $file | sed "s|^\"||; s|\"$||;" | sed "s|T|\n|" | head -n 1 | sed "s|-|/|g"); - - # List JSON structure: cat json/$file | js '.' - # XML value "homepage" is not always set in AMO API, but the XML require "Homepage URL" to be set: Therfore we use the AMO page itself in Homepage URL to complete the build of the repo automatically. - echo "{{Entry" > "$run_path/build/wiki/$slug.wiki" - - # Dash have to be removed in jq 1.3: https://github.com/stedolan/jq/issues/341 - # Avoid specific versions since it's not compatible with all IceCat versions: - # |Version download=https://addons.mozilla.org/firefox/downloads/latest/$id/addon-$version_id-latest.xpi - # |Version identifier=$version - # |Version date=$version_date - - - # Do add these fields since we refer to the download page in the `|Version download` field that lists compatible versions - # |Version identifier=52.6.0 - # |Version date=2018/02/26 - # |Version status=stable - - echo "|Name=$name -|Short description=$short_description -|Full description=$full_description -|Homepage URL=$homepage_url -|Extension of=$extension_of -|VCS checkout command=$vcs_checkout_command -|Documentation note=Extra data (https://addons.mozilla.org/api/v$api_version/addons/addon/$slug/): -* Users: $average_daily_users -* Rating: $bayesian_average__simple -* Updated: $last_updated -* Featured: $is_featured -|Version download=https://addons.mozilla.org/en-US/firefox/addon/$slug/versions/ -|Last review by=$last_review_by -|Last review date=$last_review_date -|Submitted by=$submitted_by -|Submitted date= -|Is GNU=$is_gnu -}}" >> "$run_path/build/wiki/$slug.wiki" - - - - # https://addons.mozilla.org/api/v3/addons/addon/noscript/versions/1910123/ - echo "{{Project license -|License=$license__fsd_short_name -|License copyright=$license_copyright -|License note=\"License: $license__amo_full_name\" listed -at https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/ -}}" >> "$run_path/build/wiki/$slug.wiki" - - if [ "$support_url" != "null" ]; - then - - echo "{{Resource -|Resource audience=Users -|Resource kind=Support -|Resource URL=$support_url -}}" >> "$run_path/build/wiki/$slug.wiki" - - fi - - if [ "$minimum_average_daily_users" == "100000" ]; then - - echo "|- -| [[$slug|$name]] -| $short_description -| [[License:$license__fsd_short_name|$license__fsd_short_name]] -| $average_daily_users -| $bayesian_average__simple -| $last_updated -| $is_featured" >> "$run_path/build/IceCat WebExtensions - Most Users (proposed).wiki" - - fi - - - - fi - - echo "$name" # Must be here to work with pv -done < "$output_file_2" # | pv__progress -# End template - - -if [ "$minimum_average_daily_users" == "100000" ]; then - - echo "|}" >> "$run_path/build/IceCat WebExtensions - Most Users (proposed).wiki" - -fi diff --git a/subprojects/freeamo/src/unmaintained/bad_names b/subprojects/freeamo/src/unmaintained/bad_names index 6ba8891..c55cb34 100644 --- a/subprojects/freeamo/src/unmaintained/bad_names +++ b/subprojects/freeamo/src/unmaintained/bad_names @@ -2,11 +2,11 @@ function search-pages--filter__bad_names() { -name=$(jq .results[$entry].name "$run_path/build/json/$file" | sed "s|en-US|enUS|;" | jq .enUS | sed "s|^\"||; s|\"$||;"); +name=$(jq .results[$entry].name "$run_path/build/json/$file" | sed "s|en-US|enUS|;" | jq -r .enUS); if [ "$name" == "null" ]; then -name=$(jq .results[$entry].name "$run_path/build/json/$file" | sed "s|en-GB|enGB|;" | jq .enGB | sed "s|^\"||; s|\"$||;"); +name=$(jq .results[$entry].name "$run_path/build/json/$file" | sed "s|en-GB|enGB|;" | jq -r .enGB); fi -- cgit v1.2.3