code: def add_path(self, path, path_filter=None):
          
          for root, _, files in os.walk(path):
              for filename in files:
                  full_path_and_filename = os.path.join(root, filename)
                  if path_filter is None or path_filter(full_path_and_filename):
                      relative_path_and_filename = full_path_and_filename.replace(path + '/', '')
                      with open(full_path_and_filename, 'rb') as handle:
                          self.files[relative_path_and_filename] = b64encode(handle.read()).decode('utf-8')
docs: Adding all files from given path to the object.
  
          Args:
              path (str): valid, existing directory