]> git.ralfj.de Git - lets-encrypt-tiny.git/blobdiff - letsencrypt-tiny
only attempt unstaging if both key and cert exist
[lets-encrypt-tiny.git] / letsencrypt-tiny
index 2e8ea149061986de112c5d0ff7bed2c7f9c690e9..902639bec2d4b6c79165a1579773e3edaec2df52 100755 (executable)
@@ -21,7 +21,7 @@ def keyfile(name):
 
 def make_backup(fname):
     if os.path.exists(fname):
 
 def make_backup(fname):
     if os.path.exists(fname):
-        os.makedirs(config['dirs']['backups'])
+        os.makedirs(config['dirs']['backups'], exist_ok = True)
         backupname = os.path.basename(fname) + "." + str(datetime.date.today())
         i = 0
         while True:
         backupname = os.path.basename(fname) + "." + str(datetime.date.today())
         i = 0
         while True:
@@ -101,9 +101,9 @@ def generate_key(name):
 
 def check_staging(live, staging):
     '''Returns 0 if nothing was done, 1 if a stage key is present but has to be kept, 2 is a stage key was unstaged.'''
 
 def check_staging(live, staging):
     '''Returns 0 if nothing was done, 1 if a stage key is present but has to be kept, 2 is a stage key was unstaged.'''
-    if not os.path.exists(keyfile(staging)):
+    if not (os.path.exists(keyfile(staging)) and os.path.exists(certfile(staging))):
         return 0
         return 0
-    
+
     staging_time = datetime.timedelta(hours = int(config['timing'].get('staging-hours', 0)))
     key_age = datetime.datetime.now() - key_mtime(staging)
     if key_age < staging_time:
     staging_time = datetime.timedelta(hours = int(config['timing'].get('staging-hours', 0)))
     key_age = datetime.datetime.now() - key_mtime(staging)
     if key_age < staging_time: