docs: def load(self, rel_path=None):
          """
          Add data_sources to layer and open files with data for the data_source.
          """
          for k, v in self.layer.iteritems():
              self.add(k, v['module'], v.get('package'))
              filename = v.get('filename')
              path = v.get('path')
              if filename:
                  # default path for data is in ../data
                  if not path:
                      path = rel_path
                  else:
                      path = os.path.join(rel_path, path)
                  # filename can be a list or a string, concatenate list with
                  # os.pathsep and append the full path to strings.
                  if isinstance(filename, basestring):
                      filename = os.path.join(path, filename)
                  else:
                      file_list = [os.path.join(path, f) for f in filename]
                      filename = os.path.pathsep.join(file_list)
                  self.open(k, filename)