target path can now be stated in settings
authorSabine Engelhardt (Becker) <frosch@atari-frosch.de>
Tue, 9 Jul 2019 21:08:37 +0000 (23:08 +0200)
committerSabine Engelhardt (Becker) <frosch@atari-frosch.de>
Tue, 9 Jul 2019 21:08:37 +0000 (23:08 +0200)
CHANGELOG
ToDo
makesite.py
sites/atarifrosch/DEFAULTS/settings.py

index e2d2075..8f320ec 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+2019-07-09 frosch@atari-frosch.de
+
+    * makesite.py: It is now possible to set a different target path in the
+      settings.py of a site; before the target path was always /html
+      parallel to /sites.
+
+
 2019-04-30 frosch@atari-frosch.de
 
     * preparesite.py now stores the filepath of each html file in its
diff --git a/ToDo b/ToDo
index 5731ba6..19e9c99 100644 (file)
--- a/ToDo
+++ b/ToDo
@@ -23,6 +23,8 @@ preparesite.py:
 
 makesite.py:
 
+* BUG: Additional menu entries are not added to the html files.
+
 * FEAT: While creating new pages, ignore timestamps if a command line
   argument says „force recreation“.
 
index b223345..c7d098a 100755 (executable)
@@ -624,13 +624,27 @@ for snip in settings.snippets:
 # list, also moving pages from one folder to another.
 
 logging.debug('Starting to create menu files.')
+
+try:
+    settings.targetpath
+except AttributeError:
+    targetpathset = False
+else:
+    targetpathset = True
+
 for dirpath, dirs, files in os.walk(sitepath):
     logging.debug('Current folder: %s', dirpath)
     if "SNIPPETS" not in dirpath:
         if 'menu.py' in files:
             curmenufile = dirpath + 'menu.py'
             makemenus(dirpath)
-            targetpath = dirpath.replace("sites", "html") + "/"
+            if targetpathset == False:
+                targetpath = dirpath.replace("sites", "html") + "/"
+            else:
+                dirpathparts = dirpath.split("/sites/")
+                targetpath = settings.targetpath + dirpathparts[1]
+
+            targetpath = targetpath.replace("//", "/")
             logging.debug('Current targetpath is <%s>.', targetpath)
             if not os.path.exists(targetpath):
                 os.mkdir(targetpath)
@@ -640,11 +654,16 @@ logging.debug('Starting to create pages.')
 for dirpath, dirs, files in os.walk(sitepath):
     logging.debug('Current source folder: %s', dirpath)
     if "SNIPPETS" not in dirpath:
+        if not dirpath.endswith("/"):
+            dirpath = dirpath + "/"
         for file in files:
-            curfile = dirpath + "/" + file
+            curfile = dirpath + file
             if curfile.endswith('.htm'):
-                targetpath = dirpath.replace("sites", "html") + "/"
-                targetpath = targetpath.replace("//", "/")
+                if targetpathset == False:
+                    targetpath = dirpath.replace("sites", "html")
+                else:
+                    dirpathparts = dirpath.split("/sites/")
+                    targetpath = settings.targetpath + dirpathparts[1]
                 logging.debug('Passing %s to createpage.', curfile)
                 sitepath = sitepath.replace("//", "/")
                 createpage(curfile, sitepath, targetpath, snippets)
index abd0352..f2dba73 100644 (file)
@@ -9,6 +9,9 @@ sitename = "atarifrosch"
 # folders DEFAULTS, SNIPPETS, and CSS will be stored here.
 sitepath = "/home/frosch/prog/htmlglue/sites/atarifrosch/"
 
+# Target path for this site, where *.html gets stored
+targetpath = "/srv/"
+
 # Standard protocol of the site (one out of http, https)
 proto = "https"
 
@@ -27,7 +30,7 @@ myurl = proto + "://" + domain + "/"
 # 4 = critical, error, warning, and info messages
 # 5 = critical, error, warning, info, and debug messages (very verbose!)
 makelogfile = "mysite.log"
-makeloglevel = 4
+makeloglevel = 5
 
 ## Standard settings for the <head> section of each page
 # These settings can be overwritten in each page.py