code: def get_template_names(self):
          
          year = self.get_archive_part_value('year')
          week = self.get_archive_part_value('week')
          month = self.get_archive_part_value('month')
          day = self.get_archive_part_value('day')
  
          templates = []
          path = 'zinnia/archives'
          template_names = self.get_default_base_template_names()
          for template_name in template_names:
              templates.extend([template_name,
                                'zinnia/%s' % template_name,
                                '%s/%s' % (path, template_name)])
          if year:
              for template_name in template_names:
                  templates.append(
                      '%s/%s/%s' % (path, year, template_name))
          if week:
              for template_name in template_names:
                  templates.extend([
                      '%s/week/%s/%s' % (path, week, template_name),
                      '%s/%s/week/%s/%s' % (path, year, week, template_name)])
          if month:
              for template_name in template_names:
                  templates.extend([
                      '%s/month/%s/%s' % (path, month, template_name),
                      '%s/%s/month/%s/%s' % (path, year, month, template_name)])
          if day:
              for template_name in template_names:
                  templates.extend([
                      '%s/day/%s/%s' % (path, day, template_name),
                      '%s/%s/day/%s/%s' % (path, year, day, template_name),
                      '%s/month/%s/day/%s/%s' % (path, month, day,
                                                 template_name),
                      '%s/%s/%s/%s/%s' % (path, year, month, day,
                                          template_name)])
  
          if self.template_name is not None:
              templates.append(self.template_name)
  
          templates.reverse()
          return templates
docs: Return a list of template names to be used for the view.