prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Parsing SEED: 'Date is required.' Warning
  Hi,
  
  Each time I want to read a dataless with different periods of time, I have this annoying warning message:
  
  ```
  from obspy.io.xseed import Parser
  from obspy import UTCDateTime
  Parser('http://geoscope.ipgp.fr/metadata/G/dataless.G.CAN.seed')
  /Users/bonaime/git/obspy/obspy/io/xseed/fields.py:374: UserWarning: Date is required. warnings.warn('Date is required.', UserWarning)
  ```
  
  Is there a nice way to avoid this warning ? I try that but it is not working
  
  ``` code
  from obspy.io.xseed import Parser
  from obspy import UTCDateTime
  Parser('http://geoscope.ipgp.fr/metadata/G/dataless.G.CAN.seed').get_paz('G.CAN.00.BHZ', datetime=UTCDateTime())
  
  ```
  
  and the result is
  
  ```
  /Users/bonaime/git/obspy/obspy/io/xseed/fields.py:374: UserWarning: Date is required.
    warnings.warn('Date is required.', UserWarning)
  Out[1]:
  {u'digitizer_gain': 1677720.0,
   u'gain': 1.24658e+17,
   u'poles': [(-0.0120768+0.011706j),
    (-0.0120768-0.011706j),
    (-36.4684+66.8452j),
    (-36.4684-66.8452j),
    (-29.8656+380.54j),
    (-29.8656-380.54j),
    (-12145.6+0j),
    (-12145.6+0j)],
   u'seismometer_gain': 3450.0,
   u'sensitivity': 5788280000.0,
   u'zeros': [0j, 0j]}
  ```
  
  
  </issue>
  <code>
  [start of obspy/io/xseed/blockette/blockette051.py]
  1 # -*- coding: utf-8 -*-
  2 from __future__ import (absolute_import, division, print_function,
  3                         unicode_literals)
  4 from future.builtins import *  # NOQA
  5 
  6 from .blockette import Blockette
  7 from ..fields import Integer, VariableString
  8 
  9 
  10 class Blockette051(Blockette):
  11     """
  12     Blockette 051: Station Comment Blockette.
  13 
  14     Sample:
  15     05100351992,001~1992,002~0740000000
  16     """
  17 
  18     id = 51
  19     name = "Station Comment"
  20     fields = [
  21         VariableString(3, "Beginning effective time", 1, 22, 'T'),
  22         VariableString(4, "End effective time", 1, 22, 'T', optional=True),
  23         Integer(5, "Comment code key", 4, xpath=31),
  24         Integer(6, "Comment level", 6, ignore=True)
  25     ]
  26
  [end of obspy/io/xseed/blockette/blockette051.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/obspy/io/xseed/blockette/blockette051.py b/obspy/io/xseed/blockette/blockette051.py
  --- a/obspy/io/xseed/blockette/blockette051.py
  +++ b/obspy/io/xseed/blockette/blockette051.py
  @@ -19,7 +19,7 @@
       name = "Station Comment"
       fields = [
           VariableString(3, "Beginning effective time", 1, 22, 'T'),
  -        VariableString(4, "End effective time", 1, 22, 'T', optional=True),
  +        VariableString(4, "End effective time", 0, 22, 'T', optional=True),
           Integer(5, "Comment code key", 4, xpath=31),
           Integer(6, "Comment level", 6, ignore=True)
       ]
  
verification_info: {"golden_diff": "diff --git a/obspy/io/xseed/blockette/blockette051.py b/obspy/io/xseed/blockette/blockette051.py\n--- a/obspy/io/xseed/blockette/blockette051.py\n+++ b/obspy/io/xseed/blockette/blockette051.py\n@@ -19,7 +19,7 @@\n     name = \"Station Comment\"\n     fields = [\n         VariableString(3, \"Beginning effective time\", 1, 22, 'T'),\n-        VariableString(4, \"End effective time\", 1, 22, 'T', optional=True),\n+        VariableString(4, \"End effective time\", 0, 22, 'T', optional=True),\n         Integer(5, \"Comment code key\", 4, xpath=31),\n         Integer(6, \"Comment level\", 6, ignore=True)\n     ]\n", "issue": "Parsing SEED: 'Date is required.' Warning\nHi,\n\nEach time I want to read a dataless with different periods of time, I have this annoying warning message:\n\n```\nfrom obspy.io.xseed import Parser\nfrom obspy import UTCDateTime\nParser('http://geoscope.ipgp.fr/metadata/G/dataless.G.CAN.seed')\n/Users/bonaime/git/obspy/obspy/io/xseed/fields.py:374: UserWarning: Date is required. warnings.warn('Date is required.', UserWarning)\n```\n\nIs there a nice way to avoid this warning ? I try that but it is not working\n\n``` code\nfrom obspy.io.xseed import Parser\nfrom obspy import UTCDateTime\nParser('http://geoscope.ipgp.fr/metadata/G/dataless.G.CAN.seed').get_paz('G.CAN.00.BHZ', datetime=UTCDateTime())\n\n```\n\nand the result is\n\n```\n/Users/bonaime/git/obspy/obspy/io/xseed/fields.py:374: UserWarning: Date is required.\n  warnings.warn('Date is required.', UserWarning)\nOut[1]:\n{u'digitizer_gain': 1677720.0,\n u'gain': 1.24658e+17,\n u'poles': [(-0.0120768+0.011706j),\n  (-0.0120768-0.011706j),\n  (-36.4684+66.8452j),\n  (-36.4684-66.8452j),\n  (-29.8656+380.54j),\n  (-29.8656-380.54j),\n  (-12145.6+0j),\n  (-12145.6+0j)],\n u'seismometer_gain': 3450.0,\n u'sensitivity': 5788280000.0,\n u'zeros': [0j, 0j]}\n```\n\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\nfrom __future__ import (absolute_import, division, print_function,\n                        unicode_literals)\nfrom future.builtins import *  # NOQA\n\nfrom .blockette import Blockette\nfrom ..fields import Integer, VariableString\n\n\nclass Blockette051(Blockette):\n    \"\"\"\n    Blockette 051: Station Comment Blockette.\n\n    Sample:\n    05100351992,001~1992,002~0740000000\n    \"\"\"\n\n    id = 51\n    name = \"Station Comment\"\n    fields = [\n        VariableString(3, \"Beginning effective time\", 1, 22, 'T'),\n        VariableString(4, \"End effective time\", 1, 22, 'T', optional=True),\n        Integer(5, \"Comment code key\", 4, xpath=31),\n        Integer(6, \"Comment level\", 6, ignore=True)\n    ]\n", "path": "obspy/io/xseed/blockette/blockette051.py"}]}