From 1b318f0da4a12ad6155042334410632a4bb6a45c Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Sun, 29 May 2022 13:41:53 -0300 Subject: [PATCH] navigate_results: made generated HTML compliant - Added some missing alt attributes - Added DOCTYPE - Added language - Added title - Made tables regular (all same amount of td) --- kibot/out_navigate_results.py | 57 ++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/kibot/out_navigate_results.py b/kibot/out_navigate_results.py index 2167bbef..769ad65a 100644 --- a/kibot/out_navigate_results.py +++ b/kibot/out_navigate_results.py @@ -150,25 +150,30 @@ class Navigate_ResultsOptions(BaseOptions): prev += '.html' f.write('') f.write(' ') - f.write(' '. + f.write(' '. format(prev, MID_ICON, MID_ICON)) - f.write(' '. + f.write(' '. format(self.home, MID_ICON, MID_ICON)) f.write(' ') f.write('') f.write('

Generated by KiBot v{}

'. format(__version__)) - def generate_cat_page_for(self, name, node, prev): + def write_head(self, f, title): + f.write('\n') + f.write('\n') + f.write('\n') + f.write(' {}\n'.format(title if title else 'Main page')) + f.write(' \n') # UTF-8 encoding for unicode support + f.write(' \n') + f.write(' \n') + f.write('\n') + f.write('\n') + + def generate_cat_page_for(self, name, node, prev, category): logger.debug('- Categories: '+str(node.keys())) with open(os.path.join(self.out_dir, name), 'wt') as f: - f.write('\n') - f.write('\n') - f.write(' \n') # UTF-8 encoding for unicode support - f.write(' \n') - f.write(' \n') - f.write('\n') - f.write('\n') + self.write_head(f, category) name, ext = os.path.splitext(name) # Limit to 5 categories by row c_cats = len(node) @@ -177,28 +182,22 @@ class Navigate_ResultsOptions(BaseOptions): acc = 0 f.write('\n\n') for cat, content in node.items(): - pname = name+'_'+cat+ext - self.generate_page_for(content, pname, name) - f.write(' \n'.format(pname, self.get_image_for_cat(cat))) - acc += 1 if acc >= by_row: # Flush the table and create another acc = 0 f.write('\n
{}

\n\n\n') + pname = name+'_'+cat+ext + self.generate_page_for(content, pname, name, category+'/'+cat) + f.write(' \n'.format(pname, self.get_image_for_cat(cat))) + acc += 1 f.write('\n
{}
\n') self.add_back_home(f, prev) f.write('\n\n') - def generate_end_page_for(self, name, node, prev): + def generate_end_page_for(self, name, node, prev, category): logger.debug('- Outputs: '+str(node.keys())) with open(os.path.join(self.out_dir, name), 'wt') as f: - f.write('\n') - f.write('\n') - f.write(' \n') # UTF-8 encoding for unicode support - f.write(' \n') - f.write(' \n') - f.write('\n') - f.write('\n') + self.write_head(f, category) name, ext = os.path.splitext(name) for oname, out in node.items(): f.write('\n') @@ -212,24 +211,26 @@ class Navigate_ResultsOptions(BaseOptions): f.write('\n') c = 0 for tg in out.get_targets(out_dir): + if c == OUT_COLS: + f.write('\n\n') + c = 0 tg = os.path.relpath(os.path.abspath(tg), start=self.out_dir) f.write('\n'. format(tg, self.get_image_for_file(os.path.basename(tg)))) c = c+1 - if c == OUT_COLS: - f.write('\n\n') - c = 0 + for _ in range(c, OUT_COLS): + f.write('\n') f.write('\n') f.write('
{}
\n') self.add_back_home(f, prev) f.write('\n\n') - def generate_page_for(self, node, name, prev=None): + def generate_page_for(self, node, name, prev=None, category=''): logger.debug('Generating page for '+name) if isinstance(list(node.values())[0], dict): - self.generate_cat_page_for(name, node, prev) + self.generate_cat_page_for(name, node, prev, category) else: - self.generate_end_page_for(name, node, prev) + self.generate_end_page_for(name, node, prev, category) def run(self, name): self.out_dir = os.path.dirname(name)