prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Dummy command argument wasn't removed from auto-link after download
  Auto-linking of downloaded languages was broken in https://github.com/explosion/spaCy/commit/7f0ab145e95036a55af4802184a4b1c496557d0a. The dummy argument wasn't removed from the `link` call at https://github.com/explosion/spaCy/blob/master/spacy/cli/download.py#L44. I can make a PR for the fix unless it's easier for a maintainer to just fix this quickly.
  
  ## Your Environment
  * Operating System: Docker python:3.6
  * Python Version Used: 3.6.2
  * spaCy Version Used: Changes made since 2.0.5
  * Environment Information: Docker python:3.6
  
  
  </issue>
  <code>
  [start of spacy/cli/download.py]
  1 # coding: utf8
  2 from __future__ import unicode_literals
  3 
  4 import plac
  5 import requests
  6 import os
  7 import subprocess
  8 import sys
  9 
  10 from .link import link
  11 from ..util import prints, get_package_path
  12 from .. import about
  13 
  14 
  15 @plac.annotations(
  16     model=("model to download, shortcut or name)", "positional", None, str),
  17     direct=("force direct download. Needs model name with version and won't "
  18             "perform compatibility check", "flag", "d", bool))
  19 def download(model, direct=False):
  20     """
  21     Download compatible model from default download path using pip. Model
  22     can be shortcut, model name or, if --direct flag is set, full model name
  23     with version.
  24     """
  25     if direct:
  26         dl = download_model('{m}/{m}.tar.gz'.format(m=model))
  27     else:
  28         shortcuts = get_json(about.__shortcuts__, "available shortcuts")
  29         model_name = shortcuts.get(model, model)
  30         compatibility = get_compatibility()
  31         version = get_version(model_name, compatibility)
  32         dl = download_model('{m}-{v}/{m}-{v}.tar.gz'.format(m=model_name,
  33                                                             v=version))
  34         if dl != 0:
  35             # if download subprocess doesn't return 0, exit with the respective
  36             # exit code before doing anything else
  37             sys.exit(dl)
  38         try:
  39             # Get package path here because link uses
  40             # pip.get_installed_distributions() to check if model is a
  41             # package, which fails if model was just installed via
  42             # subprocess
  43             package_path = get_package_path(model_name)
  44             link(None, model_name, model, force=True,
  45                     model_path=package_path)
  46         except:
  47             # Dirty, but since spacy.download and the auto-linking is
  48             # mostly a convenience wrapper, it's best to show a success
  49             # message and loading instructions, even if linking fails.
  50             prints(
  51                 "Creating a shortcut link for 'en' didn't work (maybe "
  52                 "you don't have admin permissions?), but you can still "
  53                 "load the model via its full package name:",
  54                 "nlp = spacy.load('%s')" % model_name,
  55                 title="Download successful but linking failed")
  56 
  57 
  58 def get_json(url, desc):
  59     r = requests.get(url)
  60     if r.status_code != 200:
  61         msg = ("Couldn't fetch %s. Please find a model for your spaCy "
  62                "installation (v%s), and download it manually.")
  63         prints(msg % (desc, about.__version__), about.__docs_models__,
  64                title="Server error (%d)" % r.status_code, exits=1)
  65     return r.json()
  66 
  67 
  68 def get_compatibility():
  69     version = about.__version__
  70     version = version.rsplit('.dev', 1)[0]
  71     comp_table = get_json(about.__compatibility__, "compatibility table")
  72     comp = comp_table['spacy']
  73     if version not in comp:
  74         prints("No compatible models found for v%s of spaCy." % version,
  75                title="Compatibility error", exits=1)
  76     return comp[version]
  77 
  78 
  79 def get_version(model, comp):
  80     model = model.rsplit('.dev', 1)[0]
  81     if model not in comp:
  82         version = about.__version__
  83         msg = "No compatible model found for '%s' (spaCy v%s)."
  84         prints(msg % (model, version), title="Compatibility error", exits=1)
  85     return comp[model][0]
  86 
  87 
  88 def download_model(filename):
  89     download_url = about.__download_url__ + '/' + filename
  90     return subprocess.call(
  91         [sys.executable, '-m', 'pip', 'install', '--no-cache-dir', '--no-deps',
  92          download_url], env=os.environ.copy())
  93
  [end of spacy/cli/download.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/spacy/cli/download.py b/spacy/cli/download.py
  --- a/spacy/cli/download.py
  +++ b/spacy/cli/download.py
  @@ -41,7 +41,7 @@
               # package, which fails if model was just installed via
               # subprocess
               package_path = get_package_path(model_name)
  -            link(None, model_name, model, force=True,
  +            link(model_name, model, force=True,
                       model_path=package_path)
           except:
               # Dirty, but since spacy.download and the auto-linking is
  
verification_info: {"golden_diff": "diff --git a/spacy/cli/download.py b/spacy/cli/download.py\n--- a/spacy/cli/download.py\n+++ b/spacy/cli/download.py\n@@ -41,7 +41,7 @@\n             # package, which fails if model was just installed via\n             # subprocess\n             package_path = get_package_path(model_name)\n-            link(None, model_name, model, force=True,\n+            link(model_name, model, force=True,\n                     model_path=package_path)\n         except:\n             # Dirty, but since spacy.download and the auto-linking is\n", "issue": "Dummy command argument wasn't removed from auto-link after download\nAuto-linking of downloaded languages was broken in https://github.com/explosion/spaCy/commit/7f0ab145e95036a55af4802184a4b1c496557d0a. The dummy argument wasn't removed from the `link` call at https://github.com/explosion/spaCy/blob/master/spacy/cli/download.py#L44. I can make a PR for the fix unless it's easier for a maintainer to just fix this quickly.\r\n\r\n## Your Environment\r\n* Operating System: Docker python:3.6\r\n* Python Version Used: 3.6.2\r\n* spaCy Version Used: Changes made since 2.0.5\r\n* Environment Information: Docker python:3.6\r\n\n", "before_files": [{"content": "# coding: utf8\nfrom __future__ import unicode_literals\n\nimport plac\nimport requests\nimport os\nimport subprocess\nimport sys\n\nfrom .link import link\nfrom ..util import prints, get_package_path\nfrom .. import about\n\n\n@plac.annotations(\n    model=(\"model to download, shortcut or name)\", \"positional\", None, str),\n    direct=(\"force direct download. Needs model name with version and won't \"\n            \"perform compatibility check\", \"flag\", \"d\", bool))\ndef download(model, direct=False):\n    \"\"\"\n    Download compatible model from default download path using pip. Model\n    can be shortcut, model name or, if --direct flag is set, full model name\n    with version.\n    \"\"\"\n    if direct:\n        dl = download_model('{m}/{m}.tar.gz'.format(m=model))\n    else:\n        shortcuts = get_json(about.__shortcuts__, \"available shortcuts\")\n        model_name = shortcuts.get(model, model)\n        compatibility = get_compatibility()\n        version = get_version(model_name, compatibility)\n        dl = download_model('{m}-{v}/{m}-{v}.tar.gz'.format(m=model_name,\n                                                            v=version))\n        if dl != 0:\n            # if download subprocess doesn't return 0, exit with the respective\n            # exit code before doing anything else\n            sys.exit(dl)\n        try:\n            # Get package path here because link uses\n            # pip.get_installed_distributions() to check if model is a\n            # package, which fails if model was just installed via\n            # subprocess\n            package_path = get_package_path(model_name)\n            link(None, model_name, model, force=True,\n                    model_path=package_path)\n        except:\n            # Dirty, but since spacy.download and the auto-linking is\n            # mostly a convenience wrapper, it's best to show a success\n            # message and loading instructions, even if linking fails.\n            prints(\n                \"Creating a shortcut link for 'en' didn't work (maybe \"\n                \"you don't have admin permissions?), but you can still \"\n                \"load the model via its full package name:\",\n                \"nlp = spacy.load('%s')\" % model_name,\n                title=\"Download successful but linking failed\")\n\n\ndef get_json(url, desc):\n    r = requests.get(url)\n    if r.status_code != 200:\n        msg = (\"Couldn't fetch %s. Please find a model for your spaCy \"\n               \"installation (v%s), and download it manually.\")\n        prints(msg % (desc, about.__version__), about.__docs_models__,\n               title=\"Server error (%d)\" % r.status_code, exits=1)\n    return r.json()\n\n\ndef get_compatibility():\n    version = about.__version__\n    version = version.rsplit('.dev', 1)[0]\n    comp_table = get_json(about.__compatibility__, \"compatibility table\")\n    comp = comp_table['spacy']\n    if version not in comp:\n        prints(\"No compatible models found for v%s of spaCy.\" % version,\n               title=\"Compatibility error\", exits=1)\n    return comp[version]\n\n\ndef get_version(model, comp):\n    model = model.rsplit('.dev', 1)[0]\n    if model not in comp:\n        version = about.__version__\n        msg = \"No compatible model found for '%s' (spaCy v%s).\"\n        prints(msg % (model, version), title=\"Compatibility error\", exits=1)\n    return comp[model][0]\n\n\ndef download_model(filename):\n    download_url = about.__download_url__ + '/' + filename\n    return subprocess.call(\n        [sys.executable, '-m', 'pip', 'install', '--no-cache-dir', '--no-deps',\n         download_url], env=os.environ.copy())\n", "path": "spacy/cli/download.py"}]}