code: def filename_patterns(self):
          
          patterns = []
          for directory in self.base_directories:
              patterns.append(self.get_main_pattern(directory))
              patterns.append(self.get_modular_pattern(directory))
          return patterns
docs: Filename patterns to search for available configuration files (a list of strings).
  
          The value of :attr:`filename_patterns` is computed the first time it is
          needed. Each of the :attr:`base_directories` generates two patterns:
  
          1. A pattern generated by :func:`get_main_pattern()`.
          2. A pattern generated by :func:`get_modular_pattern()`.
  
          Here's an example:
  
          >>> from update_dotdee import ConfigLoader
          >>> loader = ConfigLoader(program_name='update-dotdee')
          >>> loader.filename_patterns
          ['/etc/update-dotdee.ini',
           '/etc/update-dotdee.d/*.ini',
           '~/.update-dotdee.ini',
           '~/.update-dotdee.d/*.ini',
           '~/.config/update-dotdee.ini',
           '~/.config/update-dotdee.d/*.ini']