bugfixes in preparesite.py
authorSabine Engelhardt (Becker) <frosch@atari-frosch.de>
Mon, 10 Apr 2017 15:56:05 +0000 (17:56 +0200)
committerSabine Engelhardt (Becker) <frosch@atari-frosch.de>
Mon, 10 Apr 2017 15:56:05 +0000 (17:56 +0200)
ToDo
filters/__pycache__/atarifrosch.cpython-34.pyc
fullsettings.py
htmlglue.py
preparesite.py

diff --git a/ToDo b/ToDo
index fe59231..395ffb6 100644 (file)
--- a/ToDo
+++ b/ToDo
@@ -5,10 +5,7 @@ General:
 
 preparesite.py:
 
-* BUG: addcssfiles adds the wrong line part
-* BUG: favicon also adds wrong line part to $file.py
-
-* FEAT: timestamp of last change as comment in first line of $page.py
+* FEAT: remove flattr support
 
 
 fullsettings.py:
@@ -18,8 +15,6 @@ fullsettings.py:
 
 htmlglue.py:
 
-* FEAT: create content navigation from menu.py in content file where [CONTENTNAVI]
-  is set
 * FEAT: logging
-
-
+* FEAT: create sitemap.xml
+* FEAT: create redirect for apache2 and nginx when moving a file?
index f7663ff..58e3ae0 100644 (file)
Binary files a/filters/__pycache__/atarifrosch.cpython-34.pyc and b/filters/__pycache__/atarifrosch.cpython-34.pyc differ
index 4c90299..7e48027 100644 (file)
@@ -25,12 +25,12 @@ def makefooter(contentfile, targetfile, myurl):
     f.close()
 
     filetime = path.getmtime(contentfile)
-    filetimestamp = str(strftime(filetime, "%Y-%m-%d %H:%M"))
+    filetimestamp = strftime("%Y-%m-%d %H:%M", filetime)
 
     currenttime = datetime.now()
-    curtimestamp = str(strftime(currenttime, "%Y-%m-%d %H:%M"))
+    curtimestamp = currenttime.strftime("%Y-%m-%d %H:%M")
 
-    footer = footer.replace("[FILETIME]", filetime)
+    footer = footer.replace("[FILETIME]", filetimestamp)
     footer = footer.replace("[CURTIME]", curtimestamp)
     footer = footer.replace("[MYURL]", myurl)
 
@@ -139,7 +139,7 @@ targetfile = "/index.html"
 # This will be the complete URL of the page; we need this variable later.
 # This setting is needed in each page's .py file and is NOT optional. You
 # should not change anything here.
-myurl = settings.proto + "://" + settings.domain + targetfile
+myurl = proto + "://" + domain + targetfile
 
 # You can add additional css files here; each entry needs a css file name
 # and the media type it is meant for. The added css files must exist in
index db716c5..455a2aa 100755 (executable)
@@ -2,7 +2,6 @@
 # -*- coding: utf8 -*-
 
 '''
-get own path from sys.argv[0]
 get theme dir from sys.argv[1]
 opt: get dir or file to build from sys.argv[n]
 no additional parameter(s): (re)build whole site
@@ -17,12 +16,8 @@ theme dir must have subdirs CSS, DEFAULT, SNIPPETS
 theme dir must have index.py, index.htm, menu.py
 subdir CSS must have at least one css file
 subdir DEFAULTS must have at least settings.py
-subdir SNIPPETS must have at least
-- bodytop.htm
-- footer.htm
-- endoffile.htm
 
-add DEFAULTS, SNIPPETS to path
+add DEFAULTS to path
 
 does theme/html exist, if not: mkdir
 
@@ -47,9 +42,9 @@ def makemenuitem(menuitem):
 - split into its parts (must be 4 parts) 
 - if menuitem is htm (part 0):
   - check whether according content file (.htm) exists in currentdir
-    - if not: pass
+    - if not: log/pass
   - check whether according .py file exists in currentdir
-    - if not: pass
+    - if not: log/pass
   - call function buildpage with filename, currentdir
 
 def buildpage(filename, currentdir)
index 92781b6..4a9f6d4 100755 (executable)
@@ -327,23 +327,33 @@ for dirpath, dirs, files in os.walk(origpath):
                             # this is needed later for touching the .htm file
                             # after closing it
                             if contentpart == fileday:
+                                contentdate = strftime('%Y-%m-%d %H:%M:%S', filetime)
                                 htmtouchtime = strftime('%Y%m%d%H%M.%S', filetime)
                             else:
                                 htmtouchtime = contentpart.replace("-", "") + "0000.00"
+                                contentdate = contentpart + ' 00:00:00'
+                            pyfile.write('contentdate = "' + contentdate + '"\n')
+                            pyfile.write('# as seen by preparesite.py v' + myversion + '\n')
                             logging.debug('Will touch htm file with timestamp "%s"', htmtouchtime)
 
                     elif '<link rel=' in curline:
-                        lineparts = curline.split('href="')
-                        contentpart = lineparts[1].split('"', 1)[1]
-                        contentpart = contentpart.replace("/", "")
-                        if "favicon" in contentpart:
-                            if contentpart != settings.favicon:
-                                pyfile.write("favicon = '" + contentpart + ln)
+                        if "shortcut icon" in curline:
+                            # extract .ico file name
+                            # <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+                            faviconfile = curline.split('href="')[1]
+                            faviconfile = faviconfile.split('"',1)[0]
+                            faviconfile = faviconfile.rsplit('/')[1]
+                            if faviconfile != settings.favicon:
+                                pyfile.write("favicon = '" + faviconfile + ln)
                         elif "stylesheet" in curline:
-                            if contentpart != settings.stylesheet:
+                            csspart = curline.split('href="')[1]
+                            csspart = csspart.split('"', 1)[0]
+                            csspart = csspart.rsplit("/")[1]
+                            if csspart != settings.stylesheet:
+                                # <link rel="stylesheet" media="all" href="/akv.css" type="text/css" />
                                 media = curline.split('media="')[1]
-                                media = media.split('"', 1)[1]
-                                addcss = contentpart + " " + media
+                                media = media.split('"', 1)[0]
+                                addcss = csspart + " " + media
                                 addcssfile.append(addcss)
 
                     elif flt.headlinekey in curline:
@@ -358,14 +368,11 @@ for dirpath, dirs, files in os.walk(origpath):
                         pass
 
                 if len(addcssfile) > 0:
-                    addcssitems = '['
                     for i in range(len(addcssfile)):
-                        addcssitems += '"' + addcssfile[i]
-                        if i < len(addcssfile):
-                            addcssitems += '", '
+                        if i == 0:
+                            pyfile.write('addcssfile = ["' + addcssfile[i] + '"]\n')
                         else:
-                            addcssitems += '"]'
-                    pyfile.write("addcssfile = " + addcssitems + ln)
+                            pyfile.write('addcssfile.append("' + addcssfile[i] + '")\n')
 
                 pyfile.close()
                 call(["/bin/chmod", "755", targetpy])