From 443b5edd35d5732ee2588e04a40ff3ef77e1c958 Mon Sep 17 00:00:00 2001
From: neodarz <neodarz@neodarz.net>
Date: Sun, 26 May 2019 12:59:57 +0200
Subject: Move generate_menu to external file

---
 generators/__init__.py   |  0
 generators/generators.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 pyblog                   | 39 ++-------------------------------------
 3 files changed, 50 insertions(+), 37 deletions(-)
 create mode 100644 generators/__init__.py
 create mode 100644 generators/generators.py

diff --git a/generators/__init__.py b/generators/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/generators/generators.py b/generators/generators.py
new file mode 100644
index 00000000..2705ca69
--- /dev/null
+++ b/generators/generators.py
@@ -0,0 +1,48 @@
+#!/bin/python3
+
+import os
+import sys
+import tempfile
+import re
+
+from config.config import *
+
+
+def generate_menu():
+    """Generate menu."""
+
+    sys.stderr.write("generating menu\n")
+
+    fd, tmppath = tempfile.mkstemp()
+    os.close(fd)
+
+    # Put in a list the pages where the menu will be written
+    html_fileList = []
+    for root, dirs, files in os.walk(BUILDDIR):
+        for name in files:
+            if name.endswith(".html"):
+                try:
+                    html_fileList.append(os.path.join(root.split('build/')[1], name))
+                except IndexError:
+                    html_fileList.append(name)
+
+    # Generate the string who contain the links of the menu
+    htmly_website_page = "<ul>"
+    for name in sorted(os.listdir(os.path.join(BUILDDIR, "website"))):
+        if name != "Documents":
+            htmly_website_page += "<a href='/website/"+name+"' class='lia'><li><span class='left-lia'></span><span class='center-lia'>"+name.split('.html')[0]+"</span><span class='right-lia'></span></li></a>"
+    htmly_website_page += "</ul>"
+
+    # Writing the menu in all pages contained in the variable in place of the -- generate menu here --
+    for html_file in html_fileList:
+        with open(tmppath, 'w', encoding='utf-8') as tmpfile:
+            if os.path.exists("build/"+html_file):
+                with open("build/"+html_file, 'r', encoding='utf-8') as indexmd:
+                    lines = indexmd.readlines()
+                    with open("build/"+html_file, 'w', encoding='utf-8') as indexmd:
+                        for line in lines:
+                            indexmd.write(re.sub(r'-- generate menu here --', htmly_website_page, line))
+
+        os.remove(tmppath)
+
+
diff --git a/pyblog b/pyblog
index e76c6a47..3ac492d1 100755
--- a/pyblog
+++ b/pyblog
@@ -48,43 +48,8 @@ from utils import utils
 
 from config.config import *
 
+from generators import generators
 
-def generate_menu():
-    """Generate menu."""
-
-    sys.stderr.write("generating menu\n")
-
-    fd, tmppath = tempfile.mkstemp()
-    os.close(fd)
-
-    # Put in a list the pages where the menu will be written
-    html_fileList = []
-    for root, dirs, files in os.walk(BUILDDIR):
-        for name in files:
-            if name.endswith(".html"):
-                try:
-                    html_fileList.append(os.path.join(root.split('build/')[1], name))
-                except IndexError:
-                    html_fileList.append(name)
-
-    # Generate the string who contain the links of the menu
-    htmly_website_page = "<ul>"
-    for name in sorted(os.listdir(os.path.join(BUILDDIR, "website"))):
-        if name != "Documents":
-            htmly_website_page += "<a href='/website/"+name+"' class='lia'><li><span class='left-lia'></span><span class='center-lia'>"+name.split('.html')[0]+"</span><span class='right-lia'></span></li></a>"
-    htmly_website_page += "</ul>"
-
-    # Writing the menu in all pages contained in the variable in place of the -- generate menu here --
-    for html_file in html_fileList:
-        with open(tmppath, 'w', encoding='utf-8') as tmpfile:
-            if os.path.exists("build/"+html_file):
-                with open("build/"+html_file, 'r', encoding='utf-8') as indexmd:
-                    lines = indexmd.readlines()
-                    with open("build/"+html_file, 'w', encoding='utf-8') as indexmd:
-                        for line in lines:
-                            indexmd.write(re.sub(r'-- generate menu here --', htmly_website_page, line))
-
-        os.remove(tmppath)
 
 def generate_table():
     """Generate table."""
@@ -689,7 +654,7 @@ def generate_index_and_feed():
     rss.items.sort(key=lambda item: item.timestamp, reverse=True)
 
     generate_index(feed)
-    generate_menu()
+    generators.generate_menu()
     generate_table()
     generate_blog_list(feed)
     generate_notes_list()
-- 
cgit v1.2.1