From 1f426277d45e3584f0b73a944ac12cd8dee9664b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ma=C3=ABl=20M=C3=A9liani?= <m.meliani@neogeo-online.net>
Date: Tue, 22 Oct 2013 14:30:14 +0200
Subject: [PATCH] Added "about" section...

---
 src/server.py | 19 +++++++++++++++++--
 src/tools.py  | 12 +++++++++++-
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/src/server.py b/src/server.py
index d971ddf..5197a20 100755
--- a/src/server.py
+++ b/src/server.py
@@ -61,6 +61,7 @@ class index(object):
     @HTTPCompatible(authorized=["html"])
     def GET(self, format):
         return {
+            "about/version": href("about/version"),
             "workspaces": href("workspaces"),
             "styles": href("styles"),
             "layers": href("layers"),
@@ -71,6 +72,18 @@ class index(object):
             "fonts": href("fonts"),
             }
 
+class version(object):
+    """To know about used versions...
+
+    """
+    @HTTPCompatible()
+    def GET(self, format):
+        return {"about": {"resources": [
+                        {"name": "MapServer", "version": tools.ms_version()},
+                        {"name": "GDAL", "version": tools.gdal_version()},
+                    ]}
+                }
+
 class workspaces(object):
     """Workspaces container.
 
@@ -1238,8 +1251,8 @@ class OWSGlobalSettings(object):
 
 # Index:
 urlmap(index, "")
-# Fonts:
-urlmap(fonts, "fonts")
+# About version:
+urlmap(version, "about", "version")
 # Workspaces:
 urlmap(workspaces, "workspaces")
 urlmap(workspace, "workspaces", ())
@@ -1257,6 +1270,8 @@ urlmap(coverages, "workspaces", (), "coveragestores", (), "coverages")
 urlmap(coverage, "workspaces", (), "coveragestores", (), "coverages", ())
 # Files:
 urlmap(files, "workspaces", (), "(datastores|coveragestores)", (), "(file|url|external)")
+# Fonts:
+urlmap(fonts, "fonts")
 # Styles:
 urlmap(styles, "styles")
 urlmap(style, "styles", ())
diff --git a/src/tools.py b/src/tools.py
index a9d5e15..96ac118 100644
--- a/src/tools.py
+++ b/src/tools.py
@@ -35,10 +35,20 @@ import sys
 import pyxml
 import webapp
 import xml.etree.ElementTree as etree
-from osgeo import osr
 
 __config = None
 
+
+def ms_version():
+    """Return the current MapServer version used by MRA"""
+    import mapscript
+    return mapscript.MS_VERSION
+
+def gdal_version():
+    """Return the current GDAL version used by MRA"""
+    from osgeo import gdal
+    return gdal.VersionInfo("RELEASE_NAME")
+
 def assert_is_empty(generator, tname, iname):
     try:
         next(generator)
-- 
GitLab