<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_sources(arxiv_id):
 """ Download sources on arXiv for a given preprint. .. note:: Bulk download of sources from arXiv is not permitted by their API. \ You should have a look at http://arxiv.org/help/bulk_data_s3. :param eprint: The arXiv id (e.g. ``1401.2910`` or ``1401.2910v1``) in a \ canonical form. :returns: A ``TarFile`` object of the sources of the arXiv preprint or \ ``None``. """

    try:
        request = requests.get(ARXIV_EPRINT_URL.format(arxiv_id=arxiv_id))
        request.raise_for_status()
        file_object = io.BytesIO(request.content)
        return tarfile.open(fileobj=file_object)
    except (RequestException, AssertionError, tarfile.TarError):
        return None