From fb6baf22d226feb94e7a106ddfc4838eedb79901 Mon Sep 17 00:00:00 2001 From: neodarz Date: Fri, 19 May 2017 17:38:40 +0200 Subject: Add test for internet before generating the tag cloud --- pyblog | 65 ++++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/pyblog b/pyblog index f0dad462..c431b51b 100755 --- a/pyblog +++ b/pyblog @@ -550,26 +550,27 @@ def generate_tagcloud(): 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 = "" + try: + r = requests.get("https://shaarli.neodarz.net/?do=tagcloud") + data = r.text + soup = bs4.BeautifulSoup(data, 'lxml') - if os.path.exists(BUILDDIR+"/website/Documents/veille_techno.html"): - sys.stderr.write("generating tagcloud\n") + htmly_website_page = "" - # 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) + 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 = "" - #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)) - + #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)) + + except Exception: + print("generating tagcloud... /!\ No internet connection ! => tagcloud not generated !") os.remove(tmppath) -- cgit v1.2.1