Use hostname in config backup filename
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Wed, 7 Feb 2018 23:24:17 +0000 (15:24 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Wed, 7 Feb 2018 23:24:17 +0000 (15:24 -0800)
package.json
scripts/sethostname
src/jade/templates/admin-view.jade
src/py/bbctrl/Web.py

index e3b0b81b22de59b13c0ed9dce428ecbf33fbff8b..c7ca01973091fa05a39c737df3e175bbcbbafdf9 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "bbctrl",
-  "version": "0.3.3",
+  "version": "0.3.4",
   "homepage": "https://github.com/buildbotics/bbctrl-firmware",
   "license": "GPL 3+",
   "dependencies": {
index 53cdf21c6414d1fa186146fa48724b6c4a15a6b6..73093b73b5fe3badd4f43a34803a8a14afc9c826 100755 (executable)
@@ -17,7 +17,7 @@ if [ "$HOSTNAME" =~ ^.*\.local$ ]; then
     exit 1
 fi
 
-if [[ ! "$HOSTNAME" =~ ^[a-zA-Z0-9-]{1,63}$ ]]; then
+if [[ ! "$HOSTNAME" =~ ^[a-zA-Z][a-zA-Z0-9-]{0,62}$ ]]; then
     echo "Invalid hostname '$HOSTNAME'"
     exit 1
 fi
index 79871ccaa46a12880234d130c56f5f639f72fbe6..26875832126edab0a56430b6589fdcda4225768a 100644 (file)
@@ -71,8 +71,8 @@ script#admin-view-template(type="text/x-template")
       h3(slot="header") Hostname Set
       div(slot="body")
         p Hostname was successfuly set to <strong>{{hostname}}</strong>.
-        p Rebooting.  Please wait...
-        p Redirecting in {{redirectTimeout}} seconds.
+        p Rebooting to apply changes.
+        p Redirecting to new hostname in {{redirectTimeout}} seconds.
       div(slot="footer")
 
     message(:show.sync="passwordSet")
index 58c01e3190ac53ffcc5ba456a79874d5b0fdbdc6..5e57a9dbde8249135c958ffa771e0c509863e979 100644 (file)
@@ -8,6 +8,7 @@ import datetime
 import shutil
 import tarfile
 import subprocess
+import socket
 
 import bbctrl
 
@@ -27,11 +28,7 @@ class RebootHandler(bbctrl.APIHandler):
 
 
 class HostnameHandler(bbctrl.APIHandler):
-    def get(self):
-        p = subprocess.Popen(['hostname'], stdout = subprocess.PIPE)
-        hostname = p.communicate()[0].decode('utf-8').strip()
-        self.write_json(hostname)
-
+    def get(self): self.write_json(socket.gethostname())
 
     def put(self):
         if 'hostname' in self.json:
@@ -109,7 +106,8 @@ class ConfigLoadHandler(bbctrl.APIHandler):
 
 class ConfigDownloadHandler(bbctrl.APIHandler):
     def set_default_headers(self):
-        filename = datetime.date.today().strftime('bbctrl-%Y%m%d.json')
+        fmt = socket.gethostname() + '-%Y%m%d.json'
+        filename = datetime.date.today().strftime(fmt)
         self.set_header('Content-Type', 'application/octet-stream')
         self.set_header('Content-Disposition',
                         'attachment; filename="%s"' % filename)