diff --git a/src/plugins/WebCal.py b/src/plugins/WebCal.py index 5bb5928ca..c9fa37397 100644 --- a/src/plugins/WebCal.py +++ b/src/plugins/WebCal.py @@ -369,26 +369,27 @@ class WebCalReport(Report): if os.path.exists(from_file): self.copy_file(from_file, "arrow102.gif", "images") - def display_nav_links(self, of, currentsection, cal): + def display_nav_links(self, of, currentsection, nr_up): """ - 'cal' - one of "yg", "by", "wc", "ip" + 'nr_up' - number of directory levels up, started from current page, to the + root of the directory tree (i.e. to self.html_dir). """ # Check to see if home_link will be used??? navs = [ (self.home_link, _('Home'), self.home_link), - (1, _('Jan'), True), - (2, _('Feb'), True), - (3, _('Mar'), True), - (4, _('Apr'), True), - (5, _('May'), True), - (6, _('Jun'), True), - (7, _('Jul'), True), - (8, _('Aug'), True), - (9, _('Sep'), True), - (10, _('Oct'), True), - (11, _('Nov'), True), - (12, _('Dec'), True), + (1, 1, True), + (2, 2, True), + (3, 3, True), + (4, 4, True), + (5, 5, True), + (6, 6, True), + (7, 7, True), + (8, 8, True), + (9, 9, True), + (10, 10, True), + (11, 11, True), + (12, 12, True), ('fullyear', _('Year Glance'), self.fullyear), ('blankyear', _('Blank Calendar'), self.blankyear) ] @@ -401,15 +402,13 @@ class WebCalReport(Report): if type(url_fname) == int: url_fname = GrampsLocale.long_months[url_fname] - new_dir = str(self.year) - url = _('unknown') - if ((cal == "yg") or (cal == "by")): - url = _subdirs("yg", new_dir, url_fname) - elif cal == "ip": - url = _subdirs("ip", new_dir, url_fname) - else: - url = _subdirs("wc", new_dir, url_fname) + if type(nav_text) == int: + nav_text = GrampsLocale.short_months[nav_text] + subdirs = ['..'] * nr_up + subdirs.append(str(self.year)) + # Note. We use '/' here because it is a URL, not a OS dependent pathname + url = '/'.join(subdirs + [url_fname]) if not _has_webpage_extension(url): url += self.ext @@ -563,9 +562,11 @@ class WebCalReport(Report): of.write(' \n') - def write_header(self, of, title, cal, mystyle): + def write_header(self, of, title, nr_up, mystyle, skip_print=None): """ This creates the header for the Calendars including style embedded for special purpose + 'nr_up' - number of directory levels up, started from current page, to the + root of the directory tree (i.e. to self.html_dir). """ of.write('\n' % author) - if ((cal == "yg") or (cal == "by")): # year glance and blank_year - # have same directory levels - fname1 = _subdirs("yg", "styles", _CALENDARSCREEN) - fname2 = _subdirs("yg", "styles", _CALENDARPRINT) - fname3 = _subdirs("yg", "images", "favicon.ico") - elif cal == "ip": - fname1 = _subdirs("ip", "styles", _CALENDARSCREEN) - fname2 = _subdirs("ip", "styles", _CALENDARPRINT) - fname3 = _subdirs("ip", "images", "favicon.ico") - else: - fname1 = _subdirs("wc", "styles", _CALENDARSCREEN) - fname2 = _subdirs("wc", "styles", _CALENDARPRINT) - fname3 = _subdirs("wc", "images", "favicon.ico") + subdirs = ['..'] * nr_up + # Note. We use '/' here because it is a URL, not a OS dependent pathname + fname1 = '/'.join(subdirs + ["styles"] + [_CALENDARSCREEN]) + fname2 = '/'.join(subdirs + ["styles"] + [_CALENDARPRINT]) + fname3 = '/'.join(subdirs + ["images"] + ["favicon.ico"]) # link to calendar-screen css of.write(' \n' % fname1) # link to calendar-print css - if not cal == "yg": - of.write(' \n' - % fname2) + if not skip_print: + of.write(' \n' % fname2) # create a link to GRAMPS favicon of.write(' \n' % fname3) @@ -614,9 +606,11 @@ class WebCalReport(Report): return author - def write_footer(self, of, cal): + def write_footer(self, of, nr_up): """ Writes the footer section of the pages + 'nr_up' - number of directory levels up, started from current page, to the + root of the directory tree (i.e. to self.html_dir). """ # Display date as user set in preferences @@ -632,23 +626,16 @@ class WebCalReport(Report): of.write('
\n') @@ -760,7 +747,7 @@ class WebCalReport(Report): of.write('\n') of.write(' \n') - self.write_footer(of, "ip") + self.write_footer(of, 2) self.close_file(of) def blank_year(self): @@ -772,7 +759,7 @@ class WebCalReport(Report): # Name the file, and create it cal_fname = 'blankyear%s' % self.ext - of = self.create_file(cal_fname, "%d" % year) + of = self.create_file(cal_fname, str(year)) # Add specific styles for "Printable Full-Year Calendar" page mystyle = """ @@ -793,8 +780,8 @@ class WebCalReport(Report): # TODO. See note in indiv_date() # Add header to page - title = str(year) + "Blank Calendar" - author = self.write_header(of, title, "by", mystyle) + title = ' '.join([str(year), _('Blank Calendar')]) + author = self.write_header(of, title, 1, mystyle) of.write('\n') @@ -815,7 +802,7 @@ class WebCalReport(Report): of.write('