-
-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Description
Hi. I'm excited to try this but having trouble with the instructions. Taking the code from the page: https://salu133445.github.io/muspy/datasets/index.html
Even just the top part:
import muspy
# Download and extract the dataset
nes = muspy.NESMusicDatabase("data/nes/", download_and_extract=True)
Results in the error:
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
[<ipython-input-3-8aca46b7f8b4>](https://localhost:8080/#) in <cell line: 4>()
2
3 # Download and extract the dataset
----> 4 nes = muspy.NESMusicDatabase("data/nes/", download_and_extract=True)
5
6 # Convert the dataset to MusPy Music objects
2 frames
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/base.py](https://localhost:8080/#) in __init__(self, root, download_and_extract, overwrite, cleanup, convert, kind, n_jobs, ignore_exceptions, use_converted, verbose)
1113 verbose: bool = True,
1114 ):
-> 1115 RemoteDataset.__init__(
1116 self,
1117 root,
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/base.py](https://localhost:8080/#) in __init__(self, root, download_and_extract, overwrite, cleanup, verbose)
572 super().__init__()
573 self.root = Path(root).expanduser().resolve()
--> 574 self.root.mkdir(exist_ok=True)
575
576 if download_and_extract:
[/usr/lib/python3.10/pathlib.py](https://localhost:8080/#) in mkdir(self, mode, parents, exist_ok)
1173 """
1174 try:
-> 1175 self._accessor.mkdir(self, mode)
1176 except FileNotFoundError:
1177 if not parents or self.parent == self:
FileNotFoundError: [Errno 2] No such file or directory: '/content/data/nes'
Apparently it's not creating the directory it needs, however that's not the only issue. If I manually create the directory via
mkdir -p /content/data/nes
and then re-run that code, then we get a new errors:
Downloading source : http://deepyeti.ucsd.edu/cdonahue/nesmdb/nesmdb_midi.tar.gz ...
---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
[<ipython-input-6-523fa1721f76>](https://localhost:8080/#) in <cell line: 4>()
2
3 # Download and extract the dataset
----> 4 nes = muspy.NESMusicDatabase("data/nes/", download_and_extract=True)
11 frames
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/base.py](https://localhost:8080/#) in __init__(self, root, download_and_extract, overwrite, cleanup, convert, kind, n_jobs, ignore_exceptions, use_converted, verbose)
1113 verbose: bool = True,
1114 ):
-> 1115 RemoteDataset.__init__(
1116 self,
1117 root,
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/base.py](https://localhost:8080/#) in __init__(self, root, download_and_extract, overwrite, cleanup, verbose)
575
576 if download_and_extract:
--> 577 self.download_and_extract(
578 overwrite=overwrite, cleanup=cleanup, verbose=verbose
579 )
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/base.py](https://localhost:8080/#) in download_and_extract(self, overwrite, cleanup, verbose)
705
706 """
--> 707 return self.download(overwrite=overwrite, verbose=verbose).extract(
708 cleanup=cleanup, verbose=verbose
709 )
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/base.py](https://localhost:8080/#) in download(self, overwrite, verbose)
641
642 for source in self._sources.values():
--> 643 download_url(
644 source["url"],
645 self.root / source["filename"],
[/usr/local/lib/python3.10/dist-packages/muspy/datasets/utils.py](https://localhost:8080/#) in download_url(url, path, overwrite, size, md5, sha256, verbose)
171 if verbose:
172 print(f"Downloading source : {url} ...")
--> 173 urlretrieve(url, path, reporthook=_ProgressBar())
174 print(f"Successfully downloaded source : {path} .")
175 else:
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in urlretrieve(url, filename, reporthook, data)
239 url_type, path = _splittype(url)
240
--> 241 with contextlib.closing(urlopen(url, data)) as fp:
242 headers = fp.info()
243
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in urlopen(url, data, timeout, cafile, capath, cadefault, context)
214 else:
215 opener = _opener
--> 216 return opener.open(url, data, timeout)
217
218 def install_opener(opener):
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in open(self, fullurl, data, timeout)
523 for processor in self.process_response.get(protocol, []):
524 meth = getattr(processor, meth_name)
--> 525 response = meth(req, response)
526
527 return response
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in http_response(self, request, response)
632 # request was successfully received, understood, and accepted.
633 if not (200 <= code < 300):
--> 634 response = self.parent.error(
635 'http', request, response, code, msg, hdrs)
636
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in error(self, proto, *args)
561 if http_err:
562 args = (dict, 'default', 'http_error_default') + orig_args
--> 563 return self._call_chain(*args)
564
565 # XXX probably also want an abstract factory that knows when it makes
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in _call_chain(self, chain, kind, meth_name, *args)
494 for handler in handlers:
495 func = getattr(handler, meth_name)
--> 496 result = func(*args)
497 if result is not None:
498 return result
[/usr/lib/python3.10/urllib/request.py](https://localhost:8080/#) in http_error_default(self, req, fp, code, msg, hdrs)
641 class HTTPDefaultErrorHandler(BaseHandler):
642 def http_error_default(self, req, fp, code, msg, hdrs):
--> 643 raise HTTPError(req.full_url, code, msg, hdrs, fp)
644
645 class HTTPRedirectHandler(BaseHandler):
HTTPError: HTTP Error 308: Permanent Redirect
Steps to reproduce:
pip install muspy
- Copy & past above code.
Here's a link to a Colab notebook where this is implemented:
https://colab.research.google.com/drive/1dGwwqoJ1fa53zeKQCNdL9jvce_qEUF3B?usp=sharing
Metadata
Metadata
Assignees
Labels
No labels