From 7d35d4f394f3a774b8b99e5a24a3c4cf9f6efa7b Mon Sep 17 00:00:00 2001
From: NeodarZ <neodarz@neodarz.net>
Date: Fri, 19 May 2017 15:43:03 +0200
Subject: Add tagcloud

---
 pyblog | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 62 insertions(+), 4 deletions(-)

(limited to 'pyblog')

diff --git a/pyblog b/pyblog
index 256ed9e3..f0dad462 100755
--- a/pyblog
+++ b/pyblog
@@ -39,6 +39,7 @@ import lxml.etree as ET
 
 from bs4 import UnicodeDammit
 from pprint import pprint
+import requests
 
 ############################# BLOG CONFIGURATIONS ##############################
 # Safe to customize
@@ -475,10 +476,10 @@ def generate_table():
         #                documents_fileList.append(name)
 
         # Generate the string who contain the links of the menu
-        htmly_website_page = "<ul>"
-        for name in os.listdir(os.path.join(BUILDDIR, "website/Documents/Situation2")):
-            htmly_website_page += "<a href='/website/Documents/Situation2/"+name+"' class='situation2lia'><li><span class='situation2left-lia'></span><span class='situation2center-lia'>"+name.split('.html')[0]+"</span><span class='situation2right-lia'></span></li></a>"
-        htmly_website_page += "</ul>"
+        #htmly_website_page = "<ul>"
+        #for name in os.listdir(os.path.join(BUILDDIR, "website/Documents/Situation2")):
+        #    htmly_website_page += "<a href='/website/Documents/Situation2/"+name+"' class='situation2lia'><li><span class='situation2left-lia'></span><span class='situation2center-lia'>"+name.split('.html')[0]+"</span><span class='situation2right-lia'></span></li></a>"
+        #htmly_website_page += "</ul>"
 
     # Writing the menu in all pages contained in the variable in place of the -- generate submenu here --
     for document_file in documents_fileList:
@@ -539,6 +540,62 @@ def generate_table():
 
     os.remove(tmppath)
 
+def generate_tagcloud():
+    """Generate tagcloud."""
+
+    first_comp = 1
+    first_pr = 1
+    tr_class = "odd"
+
+    documents_fileList = []
+    documents_fileList.append("/website/Documents/veille_techno.html")
+
+    r  = requests.get("https://shaarli.neodarz.net/?do=tagcloud")
+    data = r.text
+    soup = bs4.BeautifulSoup(data, 'lxml')
+
+    fd, tmppath = tempfile.mkstemp()
+    os.close(fd)
+
+    htmly_website_page = ""
+
+    if os.path.exists(BUILDDIR+"/website/Documents/veille_techno.html"):
+        sys.stderr.write("generating tagcloud\n")
+
+        # Put in a list the pages where the menu will be written
+        #for root, dirs, files in os.walk(BUILDDIR+"/website/Documents/Situation2"):
+        #    for name in files:
+        #        if name.endswith(".html"):
+        #            try:
+        #                documents_fileList.append(os.path.join(root.split('build')[1], name))
+        #            except IndexError:
+        #                documents_fileList.append(name)
+
+        # Generate the string who contain the links of the menu
+        #htmly_website_page = "<ul>"
+        #for name in os.listdir(os.path.join(BUILDDIR, "website/Documents/Situation2")):
+        #    htmly_website_page += "<a href='/website/Documents/Situation2/"+name+"' class='situation2lia'><li><span class='situation2left-lia'></span><span class='situation2center-lia'>"+name.split('.html')[0]+"</span><span class='situation2right-lia'></span></li></a>"
+        #htmly_website_page += "</ul>"
+
+    #Writing the menu in all pages contained in the variable in place of the -- generate submenu here --
+    for document_file in documents_fileList:
+        with open(tmppath, 'w', encoding='utf-8') as tmpfile:
+            if os.path.exists("build"+document_file):
+                with open("build"+document_file, 'r', encoding='utf-8') as indexmd:
+                    lines = indexmd.readlines()
+                    with open("build"+document_file, 'w', encoding='utf-8') as indexmd:
+                        for line in lines:
+                            indexmd.write(re.sub(r'-- generate tagcloud --', str(soup.find('div', {'id': 'cloudtag'})), line))
+                            #https://shaarli.neodarz.net/
+                with open("build"+document_file, 'r', encoding='utf-8') as indexmd:
+                    lines = indexmd.readlines()
+                    with open("build"+document_file, 'w', encoding='utf-8') as indexmd:
+                        for line in lines:
+                            indexmd.write(re.sub(r'\?searchtags=', 'https://shaarli.neodarz.net/?searchtags=', line))
+
+
+    os.remove(tmppath)
+
 def generate_blog_list(feed):
     """"Generate blog list """
 
@@ -1062,6 +1119,7 @@ def generate_index_and_feed():
     generate_situation1menu()
     generate_situation2menu()
     generate_table()
+    generate_tagcloud()
     generate_blog_list(feed)
     generate_notes_list()
     rewrite_title()
-- 
cgit v1.2.1