| #!/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:-}" |
| value="${value// /_}" |
| shift 1 |
| comment="${1:-}" |
| comment="${comment// /_}" |
| shift 1 |
| tags="${1:-}" |
| tags="${tags//,/\~}" |
| shift 1 |
| [ "$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 |
| } |
| |
| |