'Launch a fingerprint client action.'

def FingerprintFile(self, pathspec, max_filesize=None, request_data=None):

    request = rdf_client.FingerprintRequest(pathspec=pathspec)
    if (max_filesize is not None):
        request.max_filesize = max_filesize
    request.AddRequest(fp_type=rdf_client.FingerprintTuple.Type.FPT_GENERIC, hashers=[rdf_client.FingerprintTuple.HashType.MD5, rdf_client.FingerprintTuple.HashType.SHA1, rdf_client.FingerprintTuple.HashType.SHA256])
    request.AddRequest(fp_type=rdf_client.FingerprintTuple.Type.FPT_PE_COFF, hashers=[rdf_client.FingerprintTuple.HashType.MD5, rdf_client.FingerprintTuple.HashType.SHA1, rdf_client.FingerprintTuple.HashType.SHA256])
    self.CallClient(self.fingerprint_file_mixin_client_action, request, next_state='ProcessFingerprint', request_data=request_data)
