def METHOD_NAME(self, fileName, excludeList = None):
    """
    Upload the tarfile fileName to the user file cache. Returns the hash of the content of the file
    which can be used to retrieve the file later on.
    """
    if excludeList==None: #pylint says [] is a dangerous default value
        excludeList = []
    #The parameter newchecksum tells the crabcache to use the new algorithm. It's there
    #to guarantee backward compatibility.
    params = [('hashkey', calculateChecksum(fileName, excludeList)), ('newchecksum', '2')]
    resString = self["requests"].uploadFile(fileName=fileName, fieldName='inputfile',
                                            url=self['endpoint'] + 'file',
                                            params=params, verb='PUT')
    return json.loads(resString)['result'][0]