def __init__(self,<EOL>include_lsb=True,<EOL>os_release_file='<STR_LIT>',<EOL>distro_release_file='<STR_LIT>',<EOL>include_uname=True):
self.os_release_file = os_release_file oros.path.join(_UNIXCONFDIR, _OS_RELEASE_BASENAME)<EOL>self.distro_release_file = distro_release_file or '<STR_LIT>'  <EOL>self.include_lsb = include_lsb<EOL>self.include_uname = include_uname<EOL>
The initialization method of this class gathers information from the
available data sources, and stores that in private instance attributes.
Subsequent access to the information items uses these private instance
attributes, so that the data sources are read only once.

Parameters:

* ``include_lsb`` (bool): Controls whether the
  `lsb_release command output`_ is included as a data source.

  If the lsb_release command is not available in the program execution
  path, the data source for the lsb_release command will be empty.

* ``os_release_file`` (string): The path name of the
  `os-release file`_ that is to be used as a data source.

  An empty string (the default) will cause the default path name to
  be used (see `os-release file`_ for details).

  If the specified or defaulted os-release file does not exist, the
  data source for the os-release file will be empty.

* ``distro_release_file`` (string): The path name of the
  `distro release file`_ that is to be used as a data source.

  An empty string (the default) will cause a default search algorithm
  to be used (see `distro release file`_ for details).

  If the specified distro release file does not exist, or if no default
  distro release file can be found, the data source for the distro
  release file will be empty.

* ``include_name`` (bool): Controls whether uname command output is
  included as a data source. If the uname command is not available in
  the program execution path the data source for the uname command will
  be empty.

Public instance attributes:

* ``os_release_file`` (string): The path name of the
  `os-release file`_ that is actually used as a data source. The
  empty string if no distro release file is used as a data source.

* ``distro_release_file`` (string): The path name of the
  `distro release file`_ that is actually used as a data source. The
  empty string if no distro release file is used as a data source.

* ``include_lsb`` (bool): The result of the ``include_lsb`` parameter.
  This controls whether the lsb information will be loaded.

* ``include_uname`` (bool): The result of the ``include_uname``
  parameter. This controls whether the uname information will
  be loaded.

Raises:

* :py:exc:`IOError`: Some I/O issue with an os-release file or distro
  release file.

* :py:exc:`subprocess.CalledProcessError`: The lsb_release command had
  some issue (other than not being available in the program execution
  path).

* :py:exc:`UnicodeError`: A data source has unexpected characters or
  uses an unexpected encoding.