kevinharvey / jmad Goto Github PK
View Code? Open in Web Editor NEWThe Jazz Musicianship Archive & Database
License: GNU General Public License v2.0
The Jazz Musicianship Archive & Database
License: GNU General Public License v2.0
We should save all fields for any entity that we pull from an outside resource (currently MusicBrainz). There's likely a ton of overlap and can be accomplished with a base model that these inherit from. Also include a 'last_updated' field that we can use keep MB-related assets updated.
With the new fields in place, update the MB API consumption logic to use them.
I found a copy of your Test-Driven Django Development book and enjoy your writing. Do you have other books that I could buy as your writing style is entertaining vs most other writers are academically constipated and boring!
On page 26 it says to update demo code to the following.
from django.conf.urls import include, url from django.contrib import admin
urlpatterns = [
url(r'^$', 'solos.views.index'), url(r'^admin/', include(admin.site.urls)),
]
and it generates an error.
File "/Users/vanessawilson/sbox/test/jmad/jmad/jmad/urls.py", line 20, in <module>
url(r'^$', 'solos.views.index'),
File "/Users/vanessawilson/anaconda3/lib/python3.8/site-packages/django/conf/urls/__init__.py", line 13, in url
return re_path(regex, view, kwargs, name)
File "/Users/vanessawilson/anaconda3/lib/python3.8/site-packages/django/urls/conf.py", line 73, in _path
raise TypeError('view must be a callable or a list/tuple in the case of include().')
TypeError: view must be a callable or a list/tuple in the case of include().
(base) Vanessas-iMac:jmad vanessawilson$
I reviewed your repo and it looks like the 'url' has been deprecated and is now 'path' which I also tried but it's generating an error. If this is errata or just deprecated code, how can I update it to run? I've updated the code to where I have it with a FIXME on the URL.py file in my repo.
This could also be a more general model, like 'Person', as we'll need to add Composers for Songs, etc.
Attempting to search for an artist, either one that already exists or not, returns a 500 ISE. Traceback from jmad.log
:
[23/Jan/2016 02:27:58] ERROR [django.request:256] Internal Server Error: /
Traceback (most recent call last):
File "/webapps/jmad/lib/python3.4/site-packages/kombu/utils/__init__.py", line 420, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/virtual/__init__.py", line 789, in create_channel
return self._avail_channels.pop()
IndexError: pop from empty list
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 436, in _ensured
return fun(*args, **kwargs)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/messaging.py", line 177, in _publish
channel = self.channel
File "/webapps/jmad/lib/python3.4/site-packages/kombu/messaging.py", line 194, in _get_channel
channel = self._channel = channel()
File "/webapps/jmad/lib/python3.4/site-packages/kombu/utils/__init__.py", line 422, in __call__
value = self.__value__ = self.__contract__()
File "/webapps/jmad/lib/python3.4/site-packages/kombu/messaging.py", line 209, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 756, in default_channel
self.connection
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 741, in connection
self._connection = self._establish_connection()
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 696, in _establish_connection
conn = self.transport.establish_connection()
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/virtual/__init__.py", line 809, in establish_connection
self._avail_channels.append(self.create_channel(self))
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/virtual/__init__.py", line 791, in create_channel
channel = self.Channel(connection)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/redis.py", line 443, in __init__
self.client.info()
File "/webapps/jmad/lib/python3.4/site-packages/redis/client.py", line 657, in info
return self.execute_command('INFO')
File "/webapps/jmad/lib/python3.4/site-packages/redis/client.py", line 565, in execute_command
return self.parse_response(connection, command_name, **options)
File "/webapps/jmad/lib/python3.4/site-packages/redis/client.py", line 577, in parse_response
response = connection.read_response()
File "/webapps/jmad/lib/python3.4/site-packages/redis/connection.py", line 574, in read_response
raise response
redis.exceptions.ResponseError: NOAUTH Authentication required.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/virtual/__init__.py", line 789, in create_channel
return self._avail_channels.pop()
IndexError: pop from empty list
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/webapps/jmad/lib/python3.4/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/webapps/jmad/jmad-project/jmad/solos/views.py", line 26, in index
get_artist_tracks_from_musicbrainz.delay(artist=artist_kwarg)
File "/webapps/jmad/lib/python3.4/site-packages/celery/app/task.py", line 453, in delay
return self.apply_async(args, kwargs)
File "/webapps/jmad/lib/python3.4/site-packages/celery/app/task.py", line 559, in apply_async
**dict(self._get_exec_options(), **options)
File "/webapps/jmad/lib/python3.4/site-packages/celery/app/base.py", line 353, in send_task
reply_to=reply_to or self.oid, **options
File "/webapps/jmad/lib/python3.4/site-packages/celery/app/amqp.py", line 305, in publish_task
**kwargs
File "/webapps/jmad/lib/python3.4/site-packages/kombu/messaging.py", line 172, in publish
routing_key, mandatory, immediate, exchange, declare)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 457, in _ensured
interval_max)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 369, in ensure_connection
interval_start, interval_step, interval_max, callback)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/utils/__init__.py", line 243, in retry_over_time
return fun(*args, **kwargs)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 237, in connect
return self.connection
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 741, in connection
self._connection = self._establish_connection()
File "/webapps/jmad/lib/python3.4/site-packages/kombu/connection.py", line 696, in _establish_connection
conn = self.transport.establish_connection()
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/virtual/__init__.py", line 809, in establish_connection
self._avail_channels.append(self.create_channel(self))
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/virtual/__init__.py", line 791, in create_channel
channel = self.Channel(connection)
File "/webapps/jmad/lib/python3.4/site-packages/kombu/transport/redis.py", line 443, in __init__
self.client.info()
File "/webapps/jmad/lib/python3.4/site-packages/redis/client.py", line 657, in info
return self.execute_command('INFO')
File "/webapps/jmad/lib/python3.4/site-packages/redis/client.py", line 565, in execute_command
return self.parse_response(connection, command_name, **options)
File "/webapps/jmad/lib/python3.4/site-packages/redis/client.py", line 577, in parse_response
response = connection.read_response()
File "/webapps/jmad/lib/python3.4/site-packages/redis/connection.py", line 574, in read_response
raise response
redis.exceptions.ResponseError: NOAUTH Authentication required.
Two use cases:
Layout results to clearly delineate artist, instrument, track, and album.
Foreign key to Track (a Track is a performed instance of a song). Fields include:
Track model should foreign key to Song, and optionally override key, meter, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.