Repository: mne-tools/mne-python

Issue:
mne.io.read_raw_curry() cannot read the event file end with '.cdt.ceo'
#### Describe the bug
I have tried to use `mne.io.read_raw_curry()` to read my data created by Curry 8, but there were no annotations in the Raw object. But EEGLAB can import the data and show the annotations correctly.

#### Steps to reproduce
I read the source code of [curry.py](https://github.com/mne-tools/mne-python/blob/maint/0.23/mne/io/curry/curry.py), and I found this function cannot handle the ".cdt.ceo" file. 

So I change the file extension of my file from ".cdt.ceo" to "cdt.cef", and the function works smoothly.

#### Expected results
`mne.io.read_raw_curry()` can read cef file too, or it will make some users confused.

#### Additional information
I am sorry for my weak program skill. I have tried to fix this bug. 



Discussion:
Hello! 👋 Thanks for opening your first issue here! ❤️ We will try to get back to you soon. 🚴🏽‍♂️

Can you share the original file (Dropbox, Google drive link, etc) so we can test?

Resolving patch:
diff --git a/mne/io/curry/curry.py b/mne/io/curry/curry.py
--- a/mne/io/curry/curry.py
+++ b/mne/io/curry/curry.py
@@ -30,14 +30,16 @@
         "info": ".dap",
         "data": ".dat",
         "labels": ".rs3",
-        "events": ".cef",
+        "events_cef": ".cef",
+        "events_ceo": ".ceo",
         "hpi": ".hpi",
     },
     "Curry 8": {
         "info": ".cdt.dpa",
         "data": ".cdt",
         "labels": ".cdt.dpa",
-        "events": ".cdt.cef",
+        "events_cef": ".cdt.cef",
+        "events_ceo": ".cdt.ceo",
         "hpi": ".cdt.hpi",
     }
 }
@@ -69,10 +71,11 @@ def _get_curry_file_structure(fname, required=()):
     fname_base, ext = fname.split(".", maxsplit=1)
     version = _get_curry_version(ext)
     my_curry = dict()
-    for key in ('info', 'data', 'labels', 'events', 'hpi'):
+    for key in ('info', 'data', 'labels', 'events_cef', 'events_ceo', 'hpi'):
         fname = fname_base + FILE_EXTENSIONS[version][key]
         if op.isfile(fname):
-            my_curry[key] = fname
+            _key = 'events' if key.startswith('events') else key
+            my_curry[_key] = fname
 
     missing = [field for field in required if field not in my_curry]
     if missing:
@@ -408,8 +411,8 @@ def _read_events_curry(fname):
     events : ndarray, shape (n_events, 3)
         The array of events.
     """
-    check_fname(fname, 'curry event', ('.cef', '.cdt.cef'),
-                endings_err=('.cef', '.cdt.cef'))
+    check_fname(fname, 'curry event', ('.cef', '.cdt.cef', '.cdt.ceo'),
+                endings_err=('.cef', '.cdt.cef', '.cdt.ceo'))
 
     events_dict = _read_curry_lines(fname, ["NUMBER_LIST"])
     # The first 3 column seem to contain the event information


Test patch:
diff --git a/mne/io/curry/tests/test_curry.py b/mne/io/curry/tests/test_curry.py
--- a/mne/io/curry/tests/test_curry.py
+++ b/mne/io/curry/tests/test_curry.py
@@ -392,7 +392,8 @@ def _get_read_annotations_mock_info(name_part, mock_dir):
     original['info'] = original['base'] + FILE_EXTENSIONS[version]["info"]
 
     modified['base'] = str(mock_dir.join('curry'))
-    modified['event'] = modified['base'] + FILE_EXTENSIONS[version]["events"]
+    modified['event'] = (modified['base'] +
+                         FILE_EXTENSIONS[version]["events_cef"])
     modified['info'] = modified['base'] + FILE_EXTENSIONS[version]["info"]
 
     return original, modified