diff options
author | david <public@beloved.name> | 2018-07-17 15:52:52 +0200 |
---|---|---|
committer | david <public@beloved.name> | 2018-07-17 15:52:52 +0200 |
commit | 1ae516a7bab1d5d9f02ab00c4ac13c219f43c1a1 (patch) | |
tree | 1733cb2fb3b2db132b4fc4fc433fc38a68062c12 /subprojects/freeamo/src/main_functions | |
parent | 3aa358cf718f8fc15952757cd04489b26770ac74 (diff) |
Renamed the AMO/FSD project to FreeAMO, and rewrote its architecture.
Diffstat (limited to 'subprojects/freeamo/src/main_functions')
-rw-r--r-- | subprojects/freeamo/src/main_functions | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/subprojects/freeamo/src/main_functions b/subprojects/freeamo/src/main_functions new file mode 100644 index 0000000..a96ada3 --- /dev/null +++ b/subprojects/freeamo/src/main_functions @@ -0,0 +1,161 @@ +#!/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 <http://www.gnu.org/licenses/>. + +function check_files { + + if [ ! -f "$run_path/FreeAMO-$check_type" ]; then + + echo "$run_path/FreeAMO-$check_type doesn't exist."; + echo "Exiting" && exit + + else + + + # Make sure all links are using SSL + if grep -q "http://addons.mozilla.org/" $run_path/FreeAMO-$check_type; then + + echo "Change http://addons.mozilla.org/ to https://addons.mozilla.org/ (https)." + echo "Exiting" && exit + + fi + + fi + +} + +function line_status { + + + if [ "$file" == "$previous_file" ]; then + + ((++line)) + + else + + line="0"; # Should not be 1 + + fi + +} + +function amo_variables() { + id="$(jq ".results[$entry].id" "$file")"; + average_daily_users="$(jq ".results[$entry].average_daily_users" "$file")"; + has_eula="$(jq ".results[$entry].has_eula" "$file")"; + slug="$(jq ".results[$entry].slug" "$file" | sed "s|^\"||; s|\"$||;")"; + current_version__id=$(jq ".results[$entry].current_version.id" "$file"); + + # Names + name__enUS=$(jq ".results[$entry].name" "$file" | sed "s|-||;" | jq .enUS | sed "s|^\"||; s|\"$||;" ) + name__enGB=$(jq ".results[$entry].name" "$file" | sed "s|-||;" | jq .enGB | sed "s|^\"||; s|\"$||;" ) + if [ "$name__enUS" != "null" ]; then name="$name__enUS"; + elif [ "$name__enGB" != "null" ]; then name="$name__enGB"; + else name=$(jq ".results[$entry].name[]" "$file" | sed "s|-||;" | jq . | sed "s|^\"||; s|\"$||;"); # Use the first avalible name if English is not avaliable + fi + + + if jq .results[$entry].current_version.files[0].permissions "$file" | grep -q "nativeMessaging"; then + + nativeMessaging__pass=false; + + else + + nativeMessaging__pass=true; + + fi + +} + +function amo_variables__licenses { + + license__amo_full_name="$(jq ".license.name" "$run_path/build/json/current_versions/$current_version__id.json" | sed "s|en-US|enUS|;" | jq .enUS | sed "s|^\"||; s|\"$||;")" + +} + +function essential_addon { + + if [ "$has_eula" = false ] && [ "$nativeMessaging__pass" = true ] && [ "$average_daily_users" -ge "$minimum_average_daily_users" ]; then + + essential_addon=true; + + else + + essential_addon=false; + + fi + +} + +#function hard_to_evaluate_addon { + + # curl "https://addons.mozilla.org/api/v3/addons/addon/nemid-nøglefilsprogram/" | jq .current_version.files[0].permissions | grep "nativeMessaging + + + # API data: Add software dependencies - https://github.com/mozilla/addons-server/issues/8668 + # The API should be fixed. there are to many add-ons to keep track on if they have or not have software dependencies. + + # Old solution: + + # 1: Add this to FreeAMO-dependencies: + #belgium-eid eid-mw + + # 2: Uncomment this code: + # depends_on_external_program=false; + # while IFS= read -r dependencies; do + # + # dependency_slug=$(echo $dependencies | awk '{print $1}'); + # dependency=$(echo "$dependencies" | cut -f 2); + # + # if [ "$dependency_slug" == "$slug" ]; then + # + # depends_on_external_program=true; + # + # fi + # + # done < $run_path/FreeAMO-dependencies + +#} + +function progress { + + (>&2 echo -en "\r"; pv --progress --line-mode --size $pv__size --eta --timer) > /dev/null + +} + + +function html_to_mediawiki { + + sed " +# Remove Mozilla tracking links +s|https://outgoing.prod.mozaws.net/v1/.\{65\}||g; s|%3A|:|g; s|%23|#|g + +# Fix general links +s|<a rel=\\\\\\\"nofollow\\\\\\\" href=\\\\\\\"|[|g +s|\\\\\\\">| |g +s|</a>|]|g + +# Fix line breaks +s|\\\\n|\\n|g + +# Fix quotes +s|\\\\\\\"|\\\"|g + +# Fix bullets, many developers failed to use <li> needed to make line break +s|\\n- |\\n* |g +" + +} |