Changeset 990
- Timestamp:
- Jul 6, 2012 11:14:12 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
specdomain/trunk/src/specdomain/sphinxcontrib/specmacrofileparser.py
r989 r990 426 426 return '\n'.join(s) 427 427 428 def _report_table(self, title, itemlist, col_keys = ('start_line', 'line',)):428 def old_report_table(self, title, itemlist, col_keys = ('start_line', 'line',)): 429 429 """ return the itemlist as a reST table """ 430 430 s = [] … … 450 450 s.append( separator ) 451 451 return s 452 453 def _report_table(self, title, itemlist, col_keys = ('start_line', 'line',)): 454 """ return the itemlist as a reST table """ 455 if len(itemlist) == 0: 456 return [] 457 rows = [] 458 last_line = None 459 for d in itemlist: 460 if d['start_line'] != last_line: 461 rows.append( tuple([str(d[key]).strip() for key in col_keys]) ) 462 last_line = d['start_line'] 463 return _make_table(title, col_keys, rows, '=') 464 465 466 def _make_table( title, labels, rows, titlechar = '='): 467 """ 468 build a reST table (internal routine) 469 470 :param str title: placed in a section heading above the table 471 :param [str] labels: columns labels 472 :param [[str]] rows: 2-D grid of data, len(labels) == len(data[i]) for all i 473 :param str titlechar: character to use when underlining title as reST section heading 474 :returns [str]: each list item is reST 475 """ 476 s = [] 477 if len(rows) == 0: 478 return s 479 if len(labels) > 0: 480 columns = zip(labels, *rows) 481 else: 482 columns = zip(*rows) 483 widths = [max([len(item) for item in row]) for row in columns] 484 separator = " ".join( ['='*key for key in widths] ) 485 fmt = " ".join( '%%-%ds' % key for key in widths ) 486 s.append( '' ) 487 s.append( title ) 488 s.append( titlechar*len(title) ) 489 s.append( '' ) 490 s.append( separator ) 491 if len(labels) > 0: 492 s.append( fmt % labels ) 493 s.append( separator ) 494 s.extend( fmt % row for row in rows ) 495 s.append( separator ) 496 return s 452 497 453 498
Note: See TracChangeset
for help on using the changeset viewer.