prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Domains missing from New Look websites
  The new_look_gb.py spider is returning websites that are missing the domain name. This is because that's how the website appears in the schema.org block on the pages being scraped. e.g. we have `"url":"/uk/store/Beccles-Beccles-GB-1775"`.
  
  The scheme and domain `https://www.newlook.com` needs to be prepended to each of the returned URLs.
  
  This is the same issue as in #4302 but for a different spider.
  
  </issue>
  <code>
  [start of locations/spiders/new_look_gb.py]
  1 from scrapy.spiders import SitemapSpider
  2 
  3 from locations.structured_data_spider import StructuredDataSpider
  4 
  5 
  6 class NewLookGB(SitemapSpider, StructuredDataSpider):
  7     name = "new_look_gb"
  8     item_attributes = {"brand": "New Look", "brand_wikidata": "Q12063852"}
  9     sitemap_urls = ["https://www.newlook.com/uk/sitemap/maps/sitemap_uk_pos_en_1.xml"]
  10     sitemap_rules = [(r"https:\/\/www\.newlook\.com\/uk\/store\/[-\w]+-(\d+)$", "parse_sd")]
  11     wanted_types = ["Store"]
  12     download_delay = 1
  13 
  14     def sitemap_filter(self, entries):
  15         for entry in entries:
  16             if "closed" not in entry["loc"].lower():
  17                 yield entry
  18
  [end of locations/spiders/new_look_gb.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/locations/spiders/new_look_gb.py b/locations/spiders/new_look_gb.py
  --- a/locations/spiders/new_look_gb.py
  +++ b/locations/spiders/new_look_gb.py
  @@ -15,3 +15,7 @@
           for entry in entries:
               if "closed" not in entry["loc"].lower():
                   yield entry
  +
  +    def inspect_item(self, item, response):
  +        item["website"] = response.urljoin(item["website"])
  +        yield item
  
verification_info: {"golden_diff": "diff --git a/locations/spiders/new_look_gb.py b/locations/spiders/new_look_gb.py\n--- a/locations/spiders/new_look_gb.py\n+++ b/locations/spiders/new_look_gb.py\n@@ -15,3 +15,7 @@\n         for entry in entries:\n             if \"closed\" not in entry[\"loc\"].lower():\n                 yield entry\n+\n+    def inspect_item(self, item, response):\n+        item[\"website\"] = response.urljoin(item[\"website\"])\n+        yield item\n", "issue": "Domains missing from New Look websites\nThe new_look_gb.py spider is returning websites that are missing the domain name. This is because that's how the website appears in the schema.org block on the pages being scraped. e.g. we have `\"url\":\"/uk/store/Beccles-Beccles-GB-1775\"`.\r\n\r\nThe scheme and domain `https://www.newlook.com` needs to be prepended to each of the returned URLs.\r\n\r\nThis is the same issue as in #4302 but for a different spider.\n", "before_files": [{"content": "from scrapy.spiders import SitemapSpider\n\nfrom locations.structured_data_spider import StructuredDataSpider\n\n\nclass NewLookGB(SitemapSpider, StructuredDataSpider):\n    name = \"new_look_gb\"\n    item_attributes = {\"brand\": \"New Look\", \"brand_wikidata\": \"Q12063852\"}\n    sitemap_urls = [\"https://www.newlook.com/uk/sitemap/maps/sitemap_uk_pos_en_1.xml\"]\n    sitemap_rules = [(r\"https:\\/\\/www\\.newlook\\.com\\/uk\\/store\\/[-\\w]+-(\\d+)$\", \"parse_sd\")]\n    wanted_types = [\"Store\"]\n    download_delay = 1\n\n    def sitemap_filter(self, entries):\n        for entry in entries:\n            if \"closed\" not in entry[\"loc\"].lower():\n                yield entry\n", "path": "locations/spiders/new_look_gb.py"}]}