extension.py 930 B

1234567891011121314151617181920212223242526272829303132
  1. from mopidy import ext, config
  2. class Extension(ext.Extension):
  3. dist_name = "mopidy-smartplaylists"
  4. ext_name = "smartplaylists"
  5. version = "0.3.0"
  6. def get_default_config(self):
  7. return config.read("""
  8. [smartplaylists]
  9. # Comma-separated popular genres to expose as top-level folders
  10. genres = rock,jazz,blues,pop,electronic,hiphop
  11. # Maximum number of tracks to return per genre
  12. max_tracks = 50
  13. # Use case-insensitive matching for genres
  14. case_insensitive = true
  15. """)
  16. def get_config_schema(self):
  17. schema = super().get_config_schema()
  18. schema["genres"] = config.String(optional=True)
  19. schema["max_tracks"] = config.Integer(optional=True)
  20. schema["case_insensitive"] = config.Boolean(optional=True)
  21. return schema
  22. def setup(self, registry):
  23. from .backend import SmartPlaylistsBackend
  24. registry.add("backend", SmartPlaylistsBackend)