Exemple #1
0
 def get_name(self, person, maiden_name = None):
     """ Return person's name, unless maiden_name given, 
         unless married_name listed. 
     """
     # Get all of a person's names:
     primary_name = person.get_primary_name()
     married_name = None
     names = [primary_name] + person.get_alternate_names()
     for name in names:
         if int(name.get_type()) == NameType.MARRIED:
             married_name = name
             break # use first
     # Now, decide which to use:
     if maiden_name is not None:
         if married_name is not None:
             name = Name(married_name)
         else:
             name = Name(primary_name)
             surname = Surname()
             surname.set_surname(maiden_name)
             name.set_surname_list([surname])
     else:
         name = Name(primary_name)
     name.set_display_as(self.name_format)
     return _nd.display_name(name)
Exemple #2
0
 def get_name(self, person, maiden_name=None):
     """ Return person's name, unless maiden_name given,
         unless married_name listed.
     """
     # Get all of a person's names:
     primary_name = person.get_primary_name()
     married_name = None
     names = [primary_name] + person.get_alternate_names()
     for name in names:
         if int(name.get_type()) == NameType.MARRIED:
             married_name = name
             break  # use first
     # Now, decide which to use:
     if maiden_name is not None:
         if married_name is not None:
             name = Name(married_name)
         else:
             name = Name(primary_name)
             surname = Surname()
             surname.set_surname(maiden_name)
             name.set_surname_list([surname])
     else:
         name = Name(primary_name)
     name.set_display_as(self.name_format)
     return _nd.display_name(name)
Exemple #3
0
    def familypage(self, report, title, family_handle):
        """
        Create a family page

        @param: report        -- The instance of the main report class for
                                 this report
        @param: title         -- Is the title of the web page
        @param: family_handle -- The handle for the family to add
        """
        family = report.database.get_family_from_handle(family_handle)
        if not family:
            return
        BasePage.__init__(self, report, title, family.get_gramps_id())
        ldatec = family.get_change_time()

        self.bibli = Bibliography()
        self.uplink = True
        family_name = self.report.get_family_name(family)
        self.page_title = family_name

        self.familymappages = report.options["familymappages"]

        output_file, sio = self.report.create_file(family.get_handle(), "fam")
        result = self.write_header(family_name)
        familydetailpage, dummy_head, dummy_body, outerwrapper = result

        # begin FamilyDetaill division
        with Html("div", class_="content",
                  id="RelationshipDetail") as relationshipdetail:
            outerwrapper += relationshipdetail

            # family media list for initial thumbnail
            if self.create_media:
                media_list = family.get_media_list()
                # If Event pages are not being created, then we need to display
                # the family event media here
                if not self.inc_events:
                    for evt_ref in family.get_event_ref_list():
                        event = self.r_db.get_event_from_handle(evt_ref.ref)
                        media_list += event.get_media_list()

            relationshipdetail += Html(
                "h2", self.page_title, inline=True) + (
                    Html('sup') + (Html('small') +
                                   self.get_citation_links(
                                       family.get_citation_list())))

            # display relationships
            families = self.display_family_relationships(family, None)
            if families is not None:
                relationshipdetail += families

            # display additional images as gallery
            if self.create_media and media_list:
                addgallery = self.disp_add_img_as_gallery(media_list, family)
                if addgallery:
                    relationshipdetail += addgallery

            # Narrative subsection
            notelist = family.get_note_list()
            if notelist:
                relationshipdetail += self.display_note_list(notelist, Family)

            # display family LDS ordinance...
            family_lds_ordinance_list = family.get_lds_ord_list()
            if family_lds_ordinance_list:
                relationshipdetail += self.display_lds_ordinance(family)

            # get attribute list
            attrlist = family.get_attribute_list()
            if attrlist:
                attrsection, attrtable = self.display_attribute_header()
                self.display_attr_list(attrlist, attrtable)
                relationshipdetail += attrsection

            # for use in family map pages...
            if self.report.options["familymappages"]:
                name_format = self.report.options['name_format']
                fhandle = mhandle = father = mother = None
                relationshipdetail += Html("h4", _("Family map"), inline=True)
                mapdetail = Html("br")
                fhandle = family.get_father_handle()
                for handle, dummy_url in self.report.fam_link.items():
                    if fhandle == handle:
                        father = self.r_db.get_person_from_handle(fhandle)
                        break
                if father:
                    primary_name = father.get_primary_name()
                    name = Name(primary_name)
                    name.set_display_as(name_format)
                    fname = html_escape(_nd.display_name(name))
                    mapdetail += self.family_map_link_for_parent(fhandle, fname)
                mapdetail += Html("br")
                mhandle = family.get_mother_handle()
                for handle, dummy_url in self.report.fam_link.items():
                    if mhandle == handle:
                        mother = self.r_db.get_person_from_handle(mhandle)
                        break
                if mother:
                    primary_name = mother.get_primary_name()
                    name = Name(primary_name)
                    name.set_display_as(name_format)
                    mname = html_escape(_nd.display_name(name))
                    mapdetail += self.family_map_link_for_parent(mhandle, mname)
                relationshipdetail += mapdetail

            # source references
            srcrefs = self.display_ind_sources(family)
            if srcrefs:
                relationshipdetail += srcrefs

        # add clearline for proper styling
        # add footer section
        footer = self.write_footer(ldatec)
        outerwrapper += (FULLCLEAR, footer)

        # send page out for processing
        # and close the file
        self.xhtml_writer(familydetailpage, output_file, sio, ldatec)