Sfoglia il codice sorgente

Add format options to location.

Add support for python format options for location:
tags:
 pid
 fqdn
 hostname
 now
 utcnow
 user
Teemu Toivanen 9 anni fa
parent
commit
f7c1632aee
1 ha cambiato i file con 15 aggiunte e 0 eliminazioni
  1. 15 0
      borg/helpers.py

+ 15 - 0
borg/helpers.py

@@ -27,6 +27,7 @@ from . import shellpattern
 import msgpack
 import msgpack.fallback
 
+import socket
 
 # return codes returned by borg command
 # when borg is killed by signal N, rc = 128 + N
@@ -688,7 +689,21 @@ class Location:
         if not self.parse(self.orig):
             raise ValueError
 
+    def preformat_text(self, text):
+        """Format repository and archive path with common tags"""
+        current_time = datetime.now()
+        data = {
+            'pid': os.getpid(),
+            'fqdn': socket.getfqdn(),
+            'hostname': socket.gethostname(),
+            'now': current_time.now(),
+            'utcnow': current_time.utcnow(),
+            'user': uid2user(os.getuid(), os.getuid())
+            }
+        return format_line(text, data)
+
     def parse(self, text):
+        text = self.preformat_text(text)
         valid = self._parse(text)
         if valid:
             return True