ged2doc.html_writer¶
Module which produces HTML output.
Functions
|
This is no-op function, only used to mark translatable strings, to extract all strings run |
Classes
|
Transforms GEDCOM file into nicely formatted HTML page. |
-
class
ged2doc.html_writer.
HtmlWriter
(flocator, output, tr, encoding=None, encoding_errors='strict', sort_order=<NameOrder.SURNAME_GIVEN: 'last+first'>, name_fmt=0, make_images=True, make_stat=True, make_toc=True, events_without_dates=True, page_width='800px', image_width='300px', image_height='300px', image_upscale=False, tree_width=4)[source]¶ Bases:
ged2doc.writer.Writer
Transforms GEDCOM file into nicely formatted HTML page.
This is a sub-class of
Writer
class providing implementation for rendering methods which transform GEDCOM info into HTML constructs. Constructor takes a large number of arguments which configure appearance of the resulting HTML page. After instantiating an object of this type one has to callsave()
method to produce output file.- Parameters
- flocator
ged2doc.input.FileLocator
File locator instance.
- output
str
orio.TextIOBase
Name for the output file or file object.
- tr
ged2doc.i18n.I18N
Object supporting translation.
- encoding
str
, optional GEDCOM file encoding, if
None
then encoding is determined from file itself.- encoding_errors
str
, optional Controls error handling behavior during string decoding, one of “strict” (default), “ignore”, or “replace”.
- sort_order
ged4py.model.NameOrder
, optional Determines ordering of person in output file, one of the constants defined in
ged4py.model.NameOrder
enum.- name_fmt
int
, optional Bit mask with flags from
ged2doc.name
module.- make_images
bool
, optional If
True
(default) then generate images for persons.- make_stat
bool
, optional If
True
(default) then generate statistics section.- make_toc
bool
, optional If
True
(default) then generate Table of Contents.- events_without_dates
bool
, optional If
True
(default) then show events that have no associated dates.- page_width
ged2doc.size.Size
Width of the produced HTML page.
- image_width
ged2doc.size.Size
Size of the images.
- image_height
ged2doc.size.Size
Size of the images.
- image_upscale
bool
If True then smaller images will be re-scaled to extend to image size.
- tree_width
int
Number of generations in ancestor tree.
- flocator
Methods
save
()Produce output document.
-
_interpolate
(text)[source]¶ Takes text with embedded references and returns properly escaped text with HTML links.
- Parameters
- text
str
Arbitrary text with references.
- text
- Returns
- html
str
HTML as text.
- html
-
_render_section
(level, ref_id, title, newpage=False)[source]¶ Produces new section in the output document.
This method should also save section reference so that TOC can be later produced when
_render_toc
method is called.- Parameters
- level
int
Section level (1, 2, 3, etc.).
- ref_id
str
Unique section identifier.
- title
str
Printable section name.
- newpage
bool
, optional If
True
then start new page (for documents that support pagination).
- level
-
_render_person
(person, image_data, attributes, families, events, notes)[source]¶ Output person information.
- Parameters
- person
ged4py.model.Individual
INDI record representation.
- image_data
bytes
orNone
Either
None
or binary image data (typically content of JPEG image).- attributes
list
[tuple
] List of (attr_name, text) tuples, may be empty.
- families
list
[str
] List of strings (possibly empty), each string contains description of one family and should be typically rendered as a separate paragraph.
- events
list
[tuple
] List of (date, text) tuples, may be empty. Date is properly formatted string and does not need any other formatting.
- notes
list
[str
] List of strings, each string should be rendered as separate paragraph.
- person
Notes
Textual information in parameters to this method can include references to other persons (e.g. mother/father). Such references are embedded into text in encoded format determined by
_person_ref
method. It is responsibility of the subclasses to extract these references from text and re-encode them using proper backend representation.
-
_render_name_stat
(n_total, n_females, n_males)[source]¶ Produces summary table.
Sum of male and female counters can be lower than total count due to individuals with unknown/unspecified gender.
- Parameters
- n_total
int
Total number of individuals.
- n_females
int
Number of female individuals.
- n_males
int
Number of male individuals.
- n_total
-
_render_name_freq
(freq_table)[source]¶ Produces name statistics table.
- Parameters
- freq_table
list
[tuple
] List of (name, count) tuples.
- freq_table
-
_render_toc
()[source]¶ Produce table of contents using info collected in
_render_section()
.
-
_abc_impl
= <_abc_data object>¶