Exemplo n.º 1
0
 def test_other(self):
     c = Converter('Man', file='diff.man')
     c.translate()
     text = c.html.render()
     text = c.change_special_symbols(text)
     doc = tags.html(lang='en')
     doc = add_head(doc)
     doc_body = tags.body()
     row = tags.div(cls='row')
     row = add_row(row, 'GCC(1)', '', 'GCC(1)')
     doc_body.add(row)
     with doc_body:
         paragraph = tags.p()
         paragraph.add(tags.br())
         paragraph.add('\n\\f(CW        c  c-header  cpp-output\\fP')
         paragraph.add(tags.br())
         paragraph.add(tags.br())
         def_list = tags.dl()
         def_termin = tags.dt()
         def_termin.add('\n')
         def_termin.add('\\fB-x none\\fR')
         def_def = tags.dd(cls='indent')
         def_def.add('\nstandard_output.')
         def_list.add(def_termin)
         def_list.add(def_def)
     row = tags.div(cls='row')
     row = add_row(row, '', '2018-07-20', 'GCC(1)')
     doc_body.add(row)
     doc.add(doc_body)
     doc = c.change_special_symbols(doc.render())
     self.assertEqual(doc, text)
Exemplo n.º 2
0
 def add_indent_paragraph(self, line):
     line = self.select_quotes(self.remove_operator(line))
     if len(line) > 1:
         self.indent = int(line[1])
     self.paragraph = None
     if self.div_subheader:
         par = self.div_subheader.add(tags.dl())
     elif self.div_header:
         par = self.div_header.add(tags.dl())
     else:
         par = self.body.add(tags.dl())
     if len(line[0]) < self.indent:
         self.paragraph = par.add(tags.dt(cls='short'))
     else:
         self.paragraph = par.add(tags.dt())
     if not self.process_line(line[0]):
         self.add_roman(line[0])
     self.paragraph = par.add(tags.dd(cls='indent'))
Exemplo n.º 3
0
    def convert(self, limit, level=1):
        root = super().convert(limit)

        dl = tags.dl()
        dl += self._create_description('Number of trajectories',
                                       limit.number_trajectories)
        root += dl

        return root
Exemplo n.º 4
0
    def convert(self, analysis, level=1):
        root = super().convert(analysis, level)

        dl = tags.dl()
        dl += self._create_description('Detector',
                                       analysis.photon_detector.name)
        root += dl

        return root
Exemplo n.º 5
0
 def test_file_structure(self):
     c = Converter('Man', file='structured_file.man')
     c.translate()
     text = c.html.render()
     text = c.change_special_symbols(text)
     doc = tags.html(lang='en')
     doc = add_head(doc)
     doc_body = tags.body()
     row = tags.div(cls='row')
     row = add_row(row, 'BASH(1)', '', 'BASH(1)')
     doc_body.add(row)
     with doc_body:
         tags.h2('NAME')
         content = tags.div(cls='content')
         paragraph = tags.p()
         paragraph += '\ngrep, egrep, fgrep, rgrep'
         content.add(paragraph)
         content.add(tags.h4('Simple Commands'))
         content2 = tags.div(cls='content')
         content2.add(tags.br())
         paragraph = tags.p()
         paragraph += '\nA \\fIsimple command\\fP'
         content2.add(paragraph)
         def_list = tags.dl()
         def_termin = tags.dt()
         def_termin.add('\nInterpret')
         def_list.add(def_termin)
         def_list.add(tags.dd(cls='indent'))
         content2.add(def_list)
         def_list = tags.dl()
         def_termin = tags.dt(cls='short')
         def_termin.add((tags.b('%%')))
         def_list.add(def_termin)
         def_def = tags.dd(cls='indent')
         def_def.add('\nA literal')
         def_list.add(def_def)
         content2.add(def_list)
         content.add(content2)
     row = tags.div(cls='row')
     row = add_row(row, 'GNU Bash 4.4', '2016-08-26', 'BASH(1)')
     doc_body.add(row)
     doc.add(doc_body)
     doc = c.change_special_symbols(doc.render())
     self.assertEqual(doc, text)
Exemplo n.º 6
0
 def add_hanging_paragraph(self, line):
     x = self.remove_operator(line)
     if x:
         self.indent = int(x)
     self.paragraph = None
     if self.div_subheader:
         par = self.div_subheader.add(tags.dl())
     elif self.div_header:
         par = self.div_header.add(tags.dl())
     else:
         par = self.body.add(tags.dl())
     next_line = next(self.iterator)
     if len(self.remove_operator(next_line)) < self.indent:
         self.paragraph = par.add(tags.dt(cls='short'))
     else:
         self.paragraph = par.add(tags.dt())
     if not self.process_line(next_line):
         self.add_roman(next_line)
     self.paragraph = par.add(tags.dd(cls='indent'))
Exemplo n.º 7
0
    def convert(self, beam, level=1):
        root = super().convert(beam, level=1)

        dl = tags.dl()
        dl += self._create_description('Energy', beam.energy_eV, 'eV',
                                       Beam.ENERGY_TOLERANCE_eV)
        dl += self._create_description('Particle', beam.particle)
        root += dl

        return root
Exemplo n.º 8
0
    def convert(self, sample, level=1):
        root = super().convert(sample, level=1)

        root += self._create_header(level, 'Substrate')

        dl = tags.dl()
        dl += self._create_description('Material',
                                       sample.substrate_material.name)
        root += dl

        return root
Exemplo n.º 9
0
    def convert(self, sample, level=1):
        root = super().convert(sample, level)

        root += self._create_header(level, 'Substrate')

        dl = tags.dl()
        dl += self._create_description('Material',
                                       sample.substrate_material.name)
        root += dl

        root += self._create_header(level, 'Inclusion')

        dl = tags.dl()
        dl += self._create_description('Material',
                                       sample.inclusion_material.name)
        dl += self._create_description(
            'Diameter', sample.inclusion_diameter_m, 'm',
            InclusionSample.INCLUSION_DIAMETER_TOLERANCE_m)
        root += dl

        return root
Exemplo n.º 10
0
    def convert(self, sample, level=1):
        root = super().convert(sample, level)

        root += self._create_header(level, 'Sphere')

        dl = tags.dl()
        dl += self._create_description('Material', sample.material.name)
        dl += self._create_description('Diameter', sample.diameter_m, 'm',
                                       SphereSample.DIAMETER_TOLERANCE_m)
        root += dl

        return root
Exemplo n.º 11
0
    def convert(self, limit, level=1):
        root = super().convert(limit)

        dl = tags.dl()
        dl += self._create_description('X-ray line', limit.xrayline)
        dl += self._create_description('Detector', limit.detector.name)
        dl += self._create_description(
            'Uncertainty',
            limit.uncertainty,
            tolerance=UncertaintyLimit.UNCERTAINTY_TOLERANCE)
        root += dl

        return root
Exemplo n.º 12
0
    def convert(self, sample, level=1):
        root = super().convert(sample, level=1)

        root += self._create_header(level, 'Angles')
        dl = tags.dl()
        dl += self._create_description('Tilt', sample.tilt_rad, 'rad', Sample.TILT_TOLERANCE_rad)
        dl += self._create_description('Azimuth', sample.azimuth_rad, 'rad', Sample.AZIMUTH_TOLERANCE_rad)
        root += dl

        root += self._create_header(level, 'Material(s)')
        root += self._create_table_objects(sample.materials)

        return root
Exemplo n.º 13
0
    def convert(self, sample, level=1):
        root = super().convert(sample, level=1)

        root += self._create_header(level, 'Substrates')

        dl = tags.dl()
        dl += self._create_description('Left material',
                                       sample.left_material.name)
        dl += self._create_description('Right material',
                                       sample.right_material.name)
        dl += self._create_description('Depth', sample.depth_m, 'm',
                                       VerticalLayerSample.DEPTH_TOLERANCE_m)
        root += dl

        return root
def dump_single_val(value):
    if isinstance(value, str):
        return text_or_ptr(value)
    elif isinstance(value, dict):
        if value.get("shortval"):
            return value["shortval"]
        elif value.get("type") == "romdata":
            return "romdata"
        sdl = t.dl()
        dump_dict(sdl, value)
        return sdl
    elif isinstance(value, list):
        ul = t.ul()
        for subval in value:
            ul.add(t.li(dump_single_val(subval)))
        return ul
    else:
        return str(value)
Exemplo n.º 15
0
    def convert(self, options, level=1):
        root = super().convert(options, level=1)

        root += self._create_header(level, 'Program')
        dl = tags.dl()
        dl += self._create_description('Identifier',
                                       options.program.getidentifier())
        root += dl

        classname = camelcase_to_words(options.beam.__class__.__name__)
        root += self._create_header(level, classname)
        root += self._find_and_convert(options.beam, level + 1).children

        classname = camelcase_to_words(options.sample.__class__.__name__)
        root += self._create_header(level, classname)
        root += self._find_and_convert(options.sample, level + 1).children

        root += self._create_header(level, 'Detectors')
        for clasz, detectors in organize_by_type(options.detectors).items():
            classname = camelcase_to_words(clasz.__name__)
            root += self._create_header(level + 1, classname)
            root += self._create_table_objects(detectors)

        root += self._create_header(level, 'Analyses')
        for analysis in options.analyses:
            classname = camelcase_to_words(analysis.__class__.__name__)
            root += self._create_header(level + 1, classname)
            root += self._find_and_convert(analysis, level + 1)

        root += self._create_header(level, 'Limits')
        for limit in options.limits:
            classname = camelcase_to_words(limit.__class__.__name__)
            root += self._create_header(level + 1, classname)
            root += self._find_and_convert(limit, level + 1)

        root += self._create_header(level, 'Models')
        root += self._create_table_objects(options.models)

        return root
            ul.add(t.li(dump_single_val(subval)))
        return ul
    else:
        return str(value)


def dump_dict(dl, d):
    for key, value in d.items():
        dl.add(t.dt(key))
        dl.add(t.dd(dump_single_val(value)))


for item in allobjs:
    div = t.div(cls="entry")
    div.add(t.a("{", name=item.ptr))
    dl = t.dl()
    dl.add(t.dt("Inferred name:"))
    dl.add(t.dd(str(item.name())))
    dl.add(t.dt("Backrefs:"))
    refs = t.dd()
    for backref in item.backlinks:
        refs.add(text_or_ptr(backref.ptr))
        refs.add(", ")
    dl.add(refs)
    dump_dict(dl, item.item)
    div.add(dl)
    doc.add(div)

print("Writing to memorymap.html...")
with open("memorymap.html", "w") as f:
    f.write(doc.render(pretty=False))