<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def verify_file_signature(self, signature_url, file_url, filename):
 """ Verify a local file against it's remote signature :type signature_url: str :param signature_url: remote path to signature for file_url :type file_url: str :param file_url: url from which file at filename was fetched :type filename: str :param filename: filename of local file downloaded from file_url """


        req = requests.get(signature_url, stream=True)
        if req.status_code is 200:
            sigfile = req.raw
        else:
            raise RepositoryMissingSignatureError(signature_url)

        verified = self.gpg.verify_file(sigfile, filename)

        if verified.valid is True:
            logger.debug("verified {0} against {1}".format(filename, signature_url))
        else:
            raise RepositorySignatureError(file_url, signature_url)