diff --git a/core/constants.py b/core/constants.py index c45936a..e4ae1ab 100644 --- a/core/constants.py +++ b/core/constants.py @@ -3,7 +3,7 @@ from data.band import Band # General software SOFTWARE_NAME = "Spothole by M0TRT" -SOFTWARE_VERSION = "0.1" +SOFTWARE_VERSION = "1.0" # HTTP headers used for spot providers that use HTTP HTTP_HEADERS = {"User-Agent": SOFTWARE_NAME + " " + SOFTWARE_VERSION + " (operated by " + SERVER_OWNER_CALLSIGN + ")"} diff --git a/server/webserver.py b/server/webserver.py index 6505a37..cfc6884 100644 --- a/server/webserver.py +++ b/server/webserver.py @@ -8,7 +8,7 @@ import pytz from bottle import run, request, response, template from core.config import MAX_SPOT_AGE, ALLOW_SPOTTING -from core.constants import BANDS, ALL_MODES, MODE_TYPES, SIGS, CONTINENTS +from core.constants import BANDS, ALL_MODES, MODE_TYPES, SIGS, CONTINENTS, SOFTWARE_VERSION from data.spot import Spot @@ -27,6 +27,9 @@ class WebServer: self.thread.daemon = True self.status = "Starting" + # Base template data + bottle.BaseTemplate.defaults['software_version'] = SOFTWARE_VERSION + # Routes for API calls bottle.get("/api/v1/spots")(lambda: self.serve_api(self.get_spot_list_with_filters())) bottle.get("/api/v1/alerts")(lambda: self.serve_api(self.get_alert_list_with_filters())) diff --git a/views/webpage_about.tpl b/views/webpage_about.tpl index dc2ede8..49ab890 100644 --- a/views/webpage_about.tpl +++ b/views/webpage_about.tpl @@ -1,13 +1,14 @@ % rebase('webpage_base.tpl')
-

About Spothole

+

About Spothole

Spothole is a utility to aggregate "spots" from amateur radio DX clusters and xOTA spotting sites, and provide an open JSON API as well as a website to browse the data.

While there are several other web-based interfaces to DX clusters, and sites that aggregate spots from various outdoor activity programmes for amateur radio, Spothole differentiates itself by supporting a large number of data sources, and by being "API first" rather than just providing a web front-end. This allows other software to be built on top of it.

The API is deliberately well-defined with an OpenAPI specification and API documentation. The API delivers spots in a consistent format regardless of the data source, freeing developers from needing to know how each individual data source presents its data.

Spothole itself is also open source, Public Domain licenced code that anyone can take and modify. The source code is here. If you want to run your own copy of Spothole, or start modifying it for your own purposes, the README file contains a description of how the software works and how it's laid out, as well as instructions for configuring systemd, nginx and anything else you might need to run your own server.

Supported data sources include DX Clusters, the Reverse Beacon Network (RBN), the APRS Internet Service (APRS-IS), POTA, SOTA, WWFF, GMA, WWBOTA, HEMA, and Parks 'n' Peaks.

The software was written by Ian Renton, MØTRT and other contributors. Full details are available in the README.

+

This server is running Spothole version {{software_version}}.

FAQ

"Spots"? "DX Clusters"? What does any of this mean?

This is a tool for amateur ("ham") radio users. Many amateur radio operators like to make contacts with others who are doing something more interesting than sitting in their home "shack", such as people in rarely-seen countries, remote islands, or on mountaintops. Such operators are often "spotted", i.e. when someone speaks to them, they will put the details such as their operating frequency into an online system, to let others know where to find them. A DX Cluster is one type of those systems. Most outdoor radio awards programmes, such as "Parks on the Air" (POTA) have their own websites for posting spots.

diff --git a/views/webpage_base.tpl b/views/webpage_base.tpl index 3337626..fe438e6 100644 --- a/views/webpage_base.tpl +++ b/views/webpage_base.tpl @@ -73,23 +73,26 @@ - +
+ +