Code Monkey home page Code Monkey logo

jmad's People

Contributors

kevinharvey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jmad's Issues

Add "MusicBrainz" base model with 'last_updated' field

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.

View must be callable

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.

https://github.com/datatalking/jmad

Add Haystack search

  • index on artist, instrument, tags, etc.
  • convert search field on home page to single keyword search

Add Artist model

This could also be a more general model, like 'Person', as we'll need to add Composers for Songs, etc.

Cannot search for artists

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.

Add Tag model

Two use cases:

  1. Capture tags from MusicBrainz 'tag-list' list
  2. Add arbitrary, jazz musicianship tags for solo discovery

Add Song model, update Track model

Foreign key to Track (a Track is a performed instance of a song). Fields include:

  • key
  • meter
  • tempo
  • composer
  • date

Track model should foreign key to Song, and optionally override key, meter, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.