#!/bin/bash # This file is meant to be SOURCED # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # function track(){ # Tracks events by sending HTTP GET requests with query strings to a web server # - First argument: event name # - Rest of arguments (if they exist): tuples of operation-value-comment-tags # - operation: particular operation in an event (if it is not provided, the operation will be named after the event) # - value: particular value for an operation # - comment # - none will be passed when empty # - will be parsed to replace spaces by underscores # - tags # - none will be passed when empty # - will be parsed to replace spaces by ~ if [ $# -lt 1 ]; then echo "Unexpected error in track function. At least 1 arg is expected: event" return 1 fi osm_track_event_name=$1 ctime=`date +%s` query_string="" query_string="${query_string}&installation_id=${OSM_TRACK_INSTALLATION_ID}" query_string="${query_string}&local_ts=${ctime}" query_string="${query_string}&event=${osm_track_event_name}" shift 1 if [ $# -eq 0 ]; then operation="${osm_track_event_name}" value="" comment="" tags="" final_query_string="${query_string}" final_query_string="${final_query_string}&operation=${operation}" final_query_string="${final_query_string}&value=${value}" final_query_string="${final_query_string}&comment=${comment}" final_query_string="${final_query_string}&tags=${tags}" url="https://osm.etsi.org/InstallLog.php?${final_query_string}" echo "Track $osm_track_event_name $operation: ${url}" wget -q -O /dev/null $url else while (( "$#" > 0 )); do operation="${1:-${osm_track_event_name}}" shift 1 value="${1:-}" shift 1 comment="${1:-}" shift 1 comment="${comment// /_}" tags="${1:-}" shift 1 tags="${tags//,/\~}" [ "$value" == "none" ] && value="" [ "$comment" == "none" ] && comment="" [ "$tags" == "none" ] && tags="" final_query_string="${query_string}" final_query_string="${final_query_string}&operation=${operation}" final_query_string="${final_query_string}&value=${value}" final_query_string="${final_query_string}&comment=${comment}" final_query_string="${final_query_string}&tags=${tags}" url="https://osm.etsi.org/InstallLog.php?${final_query_string}" echo "Track $osm_track_event_name $operation: ${url}" wget -q -O /dev/null $url done fi return 0 }