d' these descriptors are read from disk. * If a **directory** argument is provided and the file is already present these descriptors are read from disk. * If a **directory** argument is provided and the file is not present the file is downloaded this location then read. * If the file has neither been downloaded and no **directory** argument is provided then the file is downloaded to a temporary directory that's deleted after it is read. :param str directory: destination to download into :param str descriptor_type: `descriptor type `_, this is guessed if not provided :param datetime.datetime start: publication time to begin with :param datetime.datetime end: publication time to end with :param stem.descriptor.__init__.DocumentHandler document_handler: method in which to parse a :class:`~stem.descriptor.networkstatus.NetworkStatusDocument` :param int timeout: timeout when connection becomes idle, no timeout applied if **None** :param int retries: maximum attempts to impose :returns: iterator for :class:`~stem.descriptor.__init__.Descriptor` instances in the file :raises: * **ValueError** if unable to determine the descirptor type * **TypeError** if we cannot parse this descriptor type * :class:`~stem.DownloadFailed` if the download fails NÚ