prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Fido query for GBM data only matches files with v00.pha and misses those that have been version updated (e.g. v01.pha)
  ### Describe the bug
  
  The way the source client for GBM is currently implemented, scraper only looks for files ending with `v00.pha`, and hence wont return data if its instead `v01.pha`
  
  I'll make a PR now
  
  
  
  ### To Reproduce
  
  ```python
  >>> from sunpy.net import Fido, attrs as a
  >>> res_gbm = Fido.search(a.Time("2014-10-14 00:00", "2014-10-15"), a.Instrument.gbm, a.Resolution.cspec, a.Detector("n5"))
  Results from 1 Provider:
  
  1 Results from the GBMClient:
  Source: https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily
  
         Start Time               End Time        Instrument Physobs Source Provider Resolution Detector
  ----------------------- ----------------------- ---------- ------- ------ -------- ---------- --------
  2014-10-15 00:00:00.000 2014-10-15 23:59:59.999        GBM    flux  FERMI     NASA      cspec       n5
  ```
  however data exists for the 14th but not returned here.
  
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `sunpy/net/dataretriever/sources/fermi_gbm.py`
  Content:
  ```
  1 from sunpy.net.dataretriever import GenericClient
  2 
  3 __all__ = ['GBMClient']
  4 
  5 
  6 class GBMClient(GenericClient):
  7     """
  8     Provides access to data from the Gamma-Ray Burst Monitor (GBM) instrument
  9     on board the Fermi satellite.
  10 
  11     Although GBMs primary objective is to detect gamma-ray bursts,
  12     it provides high quality high energy solar flare observations.
  13 
  14     The instrument consists of 12 Sodium Iodide (NaI) scintillation
  15     detectors, which are sensitive to an energy range of 4keV to 1MeV.
  16     At any one time, 6 of the NaI detectors are Sunward facing.
  17     The detectors are numbered 'n1' to 'n11'. This client supports the user
  18     to choose which detector to use through the `a.Detector <sunpy.net.attrs.Detector>` attribute.
  19     The default detector is 'n5'.
  20 
  21     The GBM data comes in daily version files in two formats:
  22 
  23         * CSPEC - counts accumulated every  4.096 seconds in 128 energy channels for each detector.
  24         * CTIME - counts accumulated every 0.256 seconds in 8 energy channels
  25 
  26     Both of which can be accessed through the attrs `a.Resolution <sunpy.net.attrs.Resolution>`.
  27     The default data type is CSPEC unless the user defines.
  28 
  29     Examples
  30     --------
  31     >>> from sunpy.net import Fido, attrs as a
  32     >>> res = Fido.search(a.Time('2015-06-21 00:00', '2015-06-23 23:59'),
  33     ...                   a.Instrument.gbm, a.Detector.n3,
  34     ...                   a.Resolution.ctime) # doctest: +REMOTE_DATA
  35     >>> res # doctest: +REMOTE_DATA
  36     <sunpy.net.fido_factory.UnifiedResponse object at ...>
  37     Results from 1 Provider:
  38     <BLANKLINE>
  39     3 Results from the GBMClient:
  40     Source: https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily
  41     <BLANKLINE>
  42            Start Time               End Time        ... Resolution Detector
  43     ----------------------- ----------------------- ... ---------- --------
  44     2015-06-21 00:00:00.000 2015-06-21 23:59:59.999 ...      ctime       n3
  45     2015-06-22 00:00:00.000 2015-06-22 23:59:59.999 ...      ctime       n3
  46     2015-06-23 00:00:00.000 2015-06-23 23:59:59.999 ...      ctime       n3
  47     <BLANKLINE>
  48     <BLANKLINE>
  49 
  50     """
  51     baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\w){5}_(\w){2}_%y%m%d_v00.pha'
  52     pattern = '{}/daily/{year:4d}/{month:2d}/{day:2d}/current/glg_{Resolution:5}_{Detector:2}_{:6d}{}'
  53 
  54     @property
  55     def info_url(self):
  56         return 'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily'
  57 
  58     @classmethod
  59     def register_values(cls):
  60         from sunpy.net import attrs
  61         adict = {attrs.Instrument: [('GBM', 'Gamma-Ray Burst Monitor on board the Fermi satellite.')],
  62                  attrs.Physobs: [('flux', 'a measure of the amount of radiation received by an object from a given source.')],
  63                  attrs.Source: [('FERMI', 'The Fermi Gamma-ray Space Telescope.')],
  64                  attrs.Provider: [('NASA', 'The National Aeronautics and Space Administration.')],
  65                  attrs.Resolution: [
  66             ("cspec", "CSPEC 128 channel spectra every 4.096 seconds."),
  67             ("ctime", "CTIME provides 8 channel spectra every 0.256 seconds.")],
  68             attrs.Detector: [(f"n{x}", f"GBM Detector short name for the detector NAI_{x:02}") for x in range(12)]}
  69         return adict
  70
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/sunpy/net/dataretriever/sources/fermi_gbm.py b/sunpy/net/dataretriever/sources/fermi_gbm.py
  --- a/sunpy/net/dataretriever/sources/fermi_gbm.py
  +++ b/sunpy/net/dataretriever/sources/fermi_gbm.py
  @@ -48,7 +48,8 @@
       <BLANKLINE>
   
       """
  -    baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\w){5}_(\w){2}_%y%m%d_v00.pha'
  +
  +    baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\w){5}_(\w){2}_%y%m%d_.*\.pha'
       pattern = '{}/daily/{year:4d}/{month:2d}/{day:2d}/current/glg_{Resolution:5}_{Detector:2}_{:6d}{}'
   
       @property
  
verification_info: {"golden_diff": "diff --git a/sunpy/net/dataretriever/sources/fermi_gbm.py b/sunpy/net/dataretriever/sources/fermi_gbm.py\n--- a/sunpy/net/dataretriever/sources/fermi_gbm.py\n+++ b/sunpy/net/dataretriever/sources/fermi_gbm.py\n@@ -48,7 +48,8 @@\n     <BLANKLINE>\n \n     \"\"\"\n-    baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\\w){5}_(\\w){2}_%y%m%d_v00.pha'\n+\n+    baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\\w){5}_(\\w){2}_%y%m%d_.*\\.pha'\n     pattern = '{}/daily/{year:4d}/{month:2d}/{day:2d}/current/glg_{Resolution:5}_{Detector:2}_{:6d}{}'\n \n     @property\n", "issue": "Fido query for GBM data only matches files with v00.pha and misses those that have been version updated (e.g. v01.pha)\n### Describe the bug\r\n\r\nThe way the source client for GBM is currently implemented, scraper only looks for files ending with `v00.pha`, and hence wont return data if its instead `v01.pha`\r\n\r\nI'll make a PR now\r\n\r\n\r\n\r\n### To Reproduce\r\n\r\n```python\r\n>>> from sunpy.net import Fido, attrs as a\r\n>>> res_gbm = Fido.search(a.Time(\"2014-10-14 00:00\", \"2014-10-15\"), a.Instrument.gbm, a.Resolution.cspec, a.Detector(\"n5\"))\r\nResults from 1 Provider:\r\n\r\n1 Results from the GBMClient:\r\nSource: https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily\r\n\r\n       Start Time               End Time        Instrument Physobs Source Provider Resolution Detector\r\n----------------------- ----------------------- ---------- ------- ------ -------- ---------- --------\r\n2014-10-15 00:00:00.000 2014-10-15 23:59:59.999        GBM    flux  FERMI     NASA      cspec       n5\r\n```\r\nhowever data exists for the 14th but not returned here.\r\n\r\n\n", "before_files": [{"content": "from sunpy.net.dataretriever import GenericClient\n\n__all__ = ['GBMClient']\n\n\nclass GBMClient(GenericClient):\n    \"\"\"\n    Provides access to data from the Gamma-Ray Burst Monitor (GBM) instrument\n    on board the Fermi satellite.\n\n    Although GBMs primary objective is to detect gamma-ray bursts,\n    it provides high quality high energy solar flare observations.\n\n    The instrument consists of 12 Sodium Iodide (NaI) scintillation\n    detectors, which are sensitive to an energy range of 4keV to 1MeV.\n    At any one time, 6 of the NaI detectors are Sunward facing.\n    The detectors are numbered 'n1' to 'n11'. This client supports the user\n    to choose which detector to use through the `a.Detector <sunpy.net.attrs.Detector>` attribute.\n    The default detector is 'n5'.\n\n    The GBM data comes in daily version files in two formats:\n\n        * CSPEC - counts accumulated every  4.096 seconds in 128 energy channels for each detector.\n        * CTIME - counts accumulated every 0.256 seconds in 8 energy channels\n\n    Both of which can be accessed through the attrs `a.Resolution <sunpy.net.attrs.Resolution>`.\n    The default data type is CSPEC unless the user defines.\n\n    Examples\n    --------\n    >>> from sunpy.net import Fido, attrs as a\n    >>> res = Fido.search(a.Time('2015-06-21 00:00', '2015-06-23 23:59'),\n    ...                   a.Instrument.gbm, a.Detector.n3,\n    ...                   a.Resolution.ctime) # doctest: +REMOTE_DATA\n    >>> res # doctest: +REMOTE_DATA\n    <sunpy.net.fido_factory.UnifiedResponse object at ...>\n    Results from 1 Provider:\n    <BLANKLINE>\n    3 Results from the GBMClient:\n    Source: https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily\n    <BLANKLINE>\n           Start Time               End Time        ... Resolution Detector\n    ----------------------- ----------------------- ... ---------- --------\n    2015-06-21 00:00:00.000 2015-06-21 23:59:59.999 ...      ctime       n3\n    2015-06-22 00:00:00.000 2015-06-22 23:59:59.999 ...      ctime       n3\n    2015-06-23 00:00:00.000 2015-06-23 23:59:59.999 ...      ctime       n3\n    <BLANKLINE>\n    <BLANKLINE>\n\n    \"\"\"\n    baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\\w){5}_(\\w){2}_%y%m%d_v00.pha'\n    pattern = '{}/daily/{year:4d}/{month:2d}/{day:2d}/current/glg_{Resolution:5}_{Detector:2}_{:6d}{}'\n\n    @property\n    def info_url(self):\n        return 'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily'\n\n    @classmethod\n    def register_values(cls):\n        from sunpy.net import attrs\n        adict = {attrs.Instrument: [('GBM', 'Gamma-Ray Burst Monitor on board the Fermi satellite.')],\n                 attrs.Physobs: [('flux', 'a measure of the amount of radiation received by an object from a given source.')],\n                 attrs.Source: [('FERMI', 'The Fermi Gamma-ray Space Telescope.')],\n                 attrs.Provider: [('NASA', 'The National Aeronautics and Space Administration.')],\n                 attrs.Resolution: [\n            (\"cspec\", \"CSPEC 128 channel spectra every 4.096 seconds.\"),\n            (\"ctime\", \"CTIME provides 8 channel spectra every 0.256 seconds.\")],\n            attrs.Detector: [(f\"n{x}\", f\"GBM Detector short name for the detector NAI_{x:02}\") for x in range(12)]}\n        return adict\n", "path": "sunpy/net/dataretriever/sources/fermi_gbm.py"}], "after_files": [{"content": "from sunpy.net.dataretriever import GenericClient\n\n__all__ = ['GBMClient']\n\n\nclass GBMClient(GenericClient):\n    \"\"\"\n    Provides access to data from the Gamma-Ray Burst Monitor (GBM) instrument\n    on board the Fermi satellite.\n\n    Although GBMs primary objective is to detect gamma-ray bursts,\n    it provides high quality high energy solar flare observations.\n\n    The instrument consists of 12 Sodium Iodide (NaI) scintillation\n    detectors, which are sensitive to an energy range of 4keV to 1MeV.\n    At any one time, 6 of the NaI detectors are Sunward facing.\n    The detectors are numbered 'n1' to 'n11'. This client supports the user\n    to choose which detector to use through the `a.Detector <sunpy.net.attrs.Detector>` attribute.\n    The default detector is 'n5'.\n\n    The GBM data comes in daily version files in two formats:\n\n        * CSPEC - counts accumulated every  4.096 seconds in 128 energy channels for each detector.\n        * CTIME - counts accumulated every 0.256 seconds in 8 energy channels\n\n    Both of which can be accessed through the attrs `a.Resolution <sunpy.net.attrs.Resolution>`.\n    The default data type is CSPEC unless the user defines.\n\n    Examples\n    --------\n    >>> from sunpy.net import Fido, attrs as a\n    >>> res = Fido.search(a.Time('2015-06-21 00:00', '2015-06-23 23:59'),\n    ...                   a.Instrument.gbm, a.Detector.n3,\n    ...                   a.Resolution.ctime) # doctest: +REMOTE_DATA\n    >>> res # doctest: +REMOTE_DATA\n    <sunpy.net.fido_factory.UnifiedResponse object at ...>\n    Results from 1 Provider:\n    <BLANKLINE>\n    3 Results from the GBMClient:\n    Source: https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily\n    <BLANKLINE>\n           Start Time               End Time        ... Resolution Detector\n    ----------------------- ----------------------- ... ---------- --------\n    2015-06-21 00:00:00.000 2015-06-21 23:59:59.999 ...      ctime       n3\n    2015-06-22 00:00:00.000 2015-06-22 23:59:59.999 ...      ctime       n3\n    2015-06-23 00:00:00.000 2015-06-23 23:59:59.999 ...      ctime       n3\n    <BLANKLINE>\n    <BLANKLINE>\n\n    \"\"\"\n\n    baseurl = r'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily/%Y/%m/%d/current/glg_(\\w){5}_(\\w){2}_%y%m%d_.*\\.pha'\n    pattern = '{}/daily/{year:4d}/{month:2d}/{day:2d}/current/glg_{Resolution:5}_{Detector:2}_{:6d}{}'\n\n    @property\n    def info_url(self):\n        return 'https://heasarc.gsfc.nasa.gov/FTP/fermi/data/gbm/daily'\n\n    @classmethod\n    def register_values(cls):\n        from sunpy.net import attrs\n        adict = {attrs.Instrument: [('GBM', 'Gamma-Ray Burst Monitor on board the Fermi satellite.')],\n                 attrs.Physobs: [('flux', 'a measure of the amount of radiation received by an object from a given source.')],\n                 attrs.Source: [('FERMI', 'The Fermi Gamma-ray Space Telescope.')],\n                 attrs.Provider: [('NASA', 'The National Aeronautics and Space Administration.')],\n                 attrs.Resolution: [\n            (\"cspec\", \"CSPEC 128 channel spectra every 4.096 seconds.\"),\n            (\"ctime\", \"CTIME provides 8 channel spectra every 0.256 seconds.\")],\n            attrs.Detector: [(f\"n{x}\", f\"GBM Detector short name for the detector NAI_{x:02}\") for x in range(12)]}\n        return adict\n", "path": "sunpy/net/dataretriever/sources/fermi_gbm.py"}]}