spl0k / supysonic

Supysonic is a Python implementation of the Subsonic server API.
https://supysonic.readthedocs.io
GNU Affero General Public License v3.0
264 stars 58 forks source link

supysonic currenty does not support python3.9 #197

Closed baldurmen closed 3 years ago

baldurmen commented 3 years ago

Hi!

PonyORM doesn't support Python 3.9 at the moment, so the supysonic testsuite fails like this on 3.9:

I: pybuild base:217: python3.9 setup.py test 
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing supysonic.egg-info/PKG-INFO
writing dependency_links to supysonic.egg-info/dependency_links.txt
writing entry points to supysonic.egg-info/entry_points.txt
writing requirements to supysonic.egg-info/requires.txt
writing top-level names to supysonic.egg-info/top_level.txt
reading manifest file 'supysonic.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'supysonic.egg-info/SOURCES.txt'
running build_ext
test_access_data (tests.base.test_cache.CacheTestCase) ... ok
test_accessing_preserves (tests.base.test_cache.CacheTestCase) ... ok
test_automatic_delete_oldest (tests.base.test_cache.CacheTestCase) ... ok
test_cleanup_on_error (tests.base.test_cache.CacheTestCase) ... ok
test_delete (tests.base.test_cache.CacheTestCase) ... ok
test_delete_missing (tests.base.test_cache.CacheTestCase) ... ok
test_existing_files_order (tests.base.test_cache.CacheTestCase) ... ok
test_min_time_clear (tests.base.test_cache.CacheTestCase) ... ok
test_missing (tests.base.test_cache.CacheTestCase) ... ok
test_missing_cache_file (tests.base.test_cache.CacheTestCase) ... ok
test_no_auto_prune (tests.base.test_cache.CacheTestCase) ... ok
test_not_expired (tests.base.test_cache.CacheTestCase) ... ok
test_parallel_generation (tests.base.test_cache.CacheTestCase) ... ok
test_replace (tests.base.test_cache.CacheTestCase) ... ok
test_store_generated (tests.base.test_cache.CacheTestCase) ... ok
test_store_literal (tests.base.test_cache.CacheTestCase) ... ok
test_store_to_fp (tests.base.test_cache.CacheTestCase) ... ok
test_no_interpolation (tests.base.test_config.ConfigTestCase) ... ok
test_sections (tests.base.test_config.ConfigTestCase) ... ok
test_types (tests.base.test_config.ConfigTestCase) ... ok
test_album (tests.base.test_db.DbTestCase) ... ERROR
test_artist (tests.base.test_db.DbTestCase) ... ok
test_chat (tests.base.test_db.DbTestCase) ... ok
test_folder_annotation (tests.base.test_db.DbTestCase) ... ok
test_folder_base (tests.base.test_db.DbTestCase) ... ok
test_playlist (tests.base.test_db.DbTestCase) ... ok
test_playlist_fixing (tests.base.test_db.DbTestCase) ... ok
test_playlist_remove_tracks (tests.base.test_db.DbTestCase) ... ok
test_playlist_tracks (tests.base.test_db.DbTestCase) ... ok
test_track (tests.base.test_db.DbTestCase) ... ok
test_user (tests.base.test_db.DbTestCase) ... ok
test_force_rescan (tests.base.test_scanner.ScannerTestCase) ... ok
test_move_file (tests.base.test_scanner.ScannerTestCase) ... ok
test_remove_file (tests.base.test_scanner.ScannerTestCase) ... ok
test_rescan (tests.base.test_scanner.ScannerTestCase) ... ok
test_rescan_corrupt_file (tests.base.test_scanner.ScannerTestCase) ... ok
test_rescan_removed_file (tests.base.test_scanner.ScannerTestCase) ... ok
test_scan (tests.base.test_scanner.ScannerTestCase) ... ok
test_scan_file (tests.base.test_scanner.ScannerTestCase) ... ok
test_scan_tag_change (tests.base.test_scanner.ScannerTestCase) ... ok
test_stats (tests.base.test_scanner.ScannerTestCase) ... ok
test_add (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_add_delete (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_add_multiple (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_add_rename (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_add_rename_delete (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_change (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_delete (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_move_in (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_move_out (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_rename (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_rename_delete (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_rename_rename (tests.base.test_watcher.AudioWatcherTestCase) ... ok
test_add_cover_then_file (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_add_file_then_cover (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_add_to_folder_without_track (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_add_track_to_empty_folder (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_naming_add_bad (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_naming_add_good (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_naming_remove_bad (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_naming_remove_good (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_remove_cover (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_remove_from_folder_without_track (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_rename (tests.base.test_watcher.CoverWatcherTestCase) ... ok
test_folder_add (tests.base.test_cli.CLITestCase) ... ok
test_folder_add_errors (tests.base.test_cli.CLITestCase) ... ok
test_folder_delete (tests.base.test_cli.CLITestCase) ... ok
test_folder_list (tests.base.test_cli.CLITestCase) ... ok
test_folder_scan (tests.base.test_cli.CLITestCase) ... ERROR
test_other (tests.base.test_cli.CLITestCase) ... ok
test_user_add (tests.base.test_cli.CLITestCase) ... ok
test_user_changepass (tests.base.test_cli.CLITestCase) ... ok
test_user_delete (tests.base.test_cli.CLITestCase) ... ok
test_user_list (tests.base.test_cli.CLITestCase) ... ok
test_user_setadmin (tests.base.test_cli.CLITestCase) ... ok
test_user_setjukebox (tests.base.test_cli.CLITestCase) ... ok
test_user_unsetadmin (tests.base.test_cli.CLITestCase) ... ok
test_user_unsetjukebox (tests.base.test_cli.CLITestCase) ... ok
test_key (tests.base.test_secret.SecretTestCase) ... ok
test_add_folder (tests.managers.test_manager_folder.FolderManagerTestCase) ... ok
test_delete_by_name (tests.managers.test_manager_folder.FolderManagerTestCase) ... ok
test_delete_folder (tests.managers.test_manager_folder.FolderManagerTestCase) ... ok
test_get_folder (tests.managers.test_manager_folder.FolderManagerTestCase) ... ok
test_add_user (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_change_password (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_change_password2 (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_delete_by_name (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_delete_user (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_encrypt_password (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_get_user (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_try_auth (tests.managers.test_manager_user.UserManagerTestCase) ... ok
test_basic (tests.api.test_response_helper.ResponseHelperJsonTestCase) ... ok
test_dicts (tests.api.test_response_helper.ResponseHelperJsonTestCase) ... ok
test_lists (tests.api.test_response_helper.ResponseHelperJsonTestCase) ... ok
test_nesting (tests.api.test_response_helper.ResponseHelperJsonTestCase) ... ok
test_basic (tests.api.test_response_helper.ResponseHelperJsonpTestCase) ... ok
test_basic (tests.api.test_response_helper.ResponseHelperXMLTestCase) ... ok
test_dicts (tests.api.test_response_helper.ResponseHelperXMLTestCase) ... ok
test_lists (tests.api.test_response_helper.ResponseHelperXMLTestCase) ... ok
test_nesting (tests.api.test_response_helper.ResponseHelperXMLTestCase) ... ok
test_root (tests.api.test_response_helper.ResponseHelperXMLTestCase) ... ok
test_auth_basic (tests.api.test_api_setup.ApiSetupTestCase) ... ok
test_auth_post (tests.api.test_api_setup.ApiSetupTestCase) ... ok
test_auth_query_params (tests.api.test_api_setup.ApiSetupTestCase) ... ok
test_format (tests.api.test_api_setup.ApiSetupTestCase) ... ok
test_not_implemented (tests.api.test_api_setup.ApiSetupTestCase) ... ok
test_required_client (tests.api.test_api_setup.ApiSetupTestCase) ... ok
test_get_license (tests.api.test_system.SystemTestCase) ... ok
test_ping (tests.api.test_system.SystemTestCase) ... ok
test_change_password (tests.api.test_user.UserTestCase) ... ok
test_create_user (tests.api.test_user.UserTestCase) ... ok
test_delete_user (tests.api.test_user.UserTestCase) ... ok
test_get_user (tests.api.test_user.UserTestCase) ... ok
test_get_users (tests.api.test_user.UserTestCase) ... ok
test_add_message (tests.api.test_chat.ChatTestCase) ... ok
test_get_messages (tests.api.test_chat.ChatTestCase) ... ok
test_search (tests.api.test_search.SearchTestCase) ... ERROR
test_search2 (tests.api.test_search.SearchTestCase) ... ERROR
test_search3 (tests.api.test_search.SearchTestCase) ... ERROR
test_create_playlist (tests.api.test_playlist.PlaylistTestCase) ... ok
test_delete_playlist (tests.api.test_playlist.PlaylistTestCase) ... ok
test_get_playlist (tests.api.test_playlist.PlaylistTestCase) ... ok
test_get_playlists (tests.api.test_playlist.PlaylistTestCase) ... ok
test_update_playlist (tests.api.test_playlist.PlaylistTestCase) ... ok
test_get_album (tests.api.test_browse.BrowseTestCase) ... ERROR
test_get_artist (tests.api.test_browse.BrowseTestCase) ... ERROR
test_get_artists (tests.api.test_browse.BrowseTestCase) ... ok
test_get_indexes (tests.api.test_browse.BrowseTestCase) ... ok
test_get_music_directory (tests.api.test_browse.BrowseTestCase) ... ok
test_get_music_folders (tests.api.test_browse.BrowseTestCase) ... ok
test_get_song (tests.api.test_browse.BrowseTestCase) ... ok
test_get_videos (tests.api.test_browse.BrowseTestCase) ... ok
test_get_album_list (tests.api.test_album_songs.AlbumSongsTestCase) ... ERROR
test_get_album_list2 (tests.api.test_album_songs.AlbumSongsTestCase) ... ERROR
test_get_random_songs (tests.api.test_album_songs.AlbumSongsTestCase) ... ok
test_get_starred (tests.api.test_album_songs.AlbumSongsTestCase) ... ok
test_get_starred2 (tests.api.test_album_songs.AlbumSongsTestCase) ... ok
test_now_playing (tests.api.test_album_songs.AlbumSongsTestCase) ... ERROR
test_scrobble (tests.api.test_annotation.AnnotationTestCase) ... ok
test_set_rating (tests.api.test_annotation.AnnotationTestCase) ... ok
test_star (tests.api.test_annotation.AnnotationTestCase) ... ERROR
test_unstar (tests.api.test_annotation.AnnotationTestCase) ... ERROR
test_download (tests.api.test_media.MediaTestCase) ... /<<PKGBUILDDIR>>/tests/api/test_media.py:124: ResourceWarning: unclosed file <_io.BufferedReader name='/<<PKGBUILDDIR>>/tests/assets/23bytes'>
  rv = self.client.get(
ResourceWarning: Enable tracemalloc to get the object allocation traceback
ok
test_get_avatar (tests.api.test_media.MediaTestCase) ... ok
test_get_cover_art (tests.api.test_media.MediaTestCase) ... /usr/lib/python3/dist-packages/flask/app.py:1936: ResourceWarning: unclosed file <_io.BufferedReader name='/<<PKGBUILDDIR>>/tests/assets/cover.jpg'>
  return self.view_functions[rule.endpoint](**req.view_args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/<<PKGBUILDDIR>>/tests/api/test_media.py:154: ResourceWarning: unclosed file <_io.BufferedReader name='/<<PKGBUILDDIR>>/tests/assets/cover.jpg'>
  rv = self.client.get("/rest/getCoverArt.view", query_string=args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/<<PKGBUILDDIR>>/tests/api/test_media.py:162: ResourceWarning: unclosed file <_io.BufferedReader name='/<<PKGBUILDDIR>>/tests/assets/cover.jpg'>
  rv = self.client.get("/rest/getCoverArt.view", query_string=args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/<<PKGBUILDDIR>>/tests/api/test_media.py:170: ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/tmphtn9d4kn/cache/1-cover-120'>
  rv = self.client.get("/rest/getCoverArt.view", query_string=args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/<<PKGBUILDDIR>>/tests/api/test_media.py:181: ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/tmphtn9d4kn/cache/1-cover-120'>
  rv = self.client.get("/rest/getCoverArt.view", query_string=args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/<<PKGBUILDDIR>>/tests/api/test_media.py:181: ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/tmphtn9d4kn/cache/6069b0fa-333a-414c-a348-b865a2eed477-cover-120'>
  rv = self.client.get("/rest/getCoverArt.view", query_string=args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/<<PKGBUILDDIR>>/tests/api/test_media.py:181: ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/tmphtn9d4kn/cache/060976fe-5aff-4e03-b082-2df3291c7b4d-cover-120'>
  rv = self.client.get("/rest/getCoverArt.view", query_string=args)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
ok
test_stream (tests.api.test_media.MediaTestCase) ... /usr/lib/python3/dist-packages/pony/orm/dbschema.py:376: ResourceWarning: unclosed file <_io.FileIO name='/tmp/tmphtn9d4kn/cache/69adfec3-fd4e-44ef-af7b-d2f5d215029b-cover-120' mode='rb' closefd=True>
  if all(columns[:child_columns_len] != child_columns for columns in child_table.indexes):
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3.9/unittest/case.py:550: ResourceWarning: unclosed file <_io.BufferedReader name='/<<PKGBUILDDIR>>/tests/assets/23bytes'>
  method()
ResourceWarning: Enable tracemalloc to get the object allocation traceback
ok
test_decode_encode (tests.api.test_transcoding.TranscodingTestCase) ... /usr/lib/python3/dist-packages/werkzeug/wrappers/base_response.py:45: ResourceWarning: unclosed file <_io.BufferedReader name=99>
  for item in iterable:
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3/dist-packages/werkzeug/wrappers/base_response.py:45: ResourceWarning: unclosed file <_io.BufferedReader name=98>
  for item in iterable:
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3/dist-packages/werkzeug/wrappers/base_response.py:45: ResourceWarning: unclosed file <_io.BufferedReader name=99>
  for item in iterable:
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3/dist-packages/werkzeug/wrappers/base_response.py:45: ResourceWarning: unclosed file <_io.BufferedReader name=98>
  for item in iterable:
ResourceWarning: Enable tracemalloc to get the object allocation traceback
ok
test_direct_transcode (tests.api.test_transcoding.TranscodingTestCase) ... /usr/lib/python3/dist-packages/werkzeug/wrappers/base_response.py:45: ResourceWarning: unclosed file <_io.BufferedReader name=99>
  for item in iterable:
ResourceWarning: Enable tracemalloc to get the object allocation traceback
ok
test_no_transcoding_available (tests.api.test_transcoding.TranscodingTestCase) ... ok
test_create_radio_station (tests.api.test_radio.RadioStationTestCase) ... ok
test_delete_radio_station (tests.api.test_radio.RadioStationTestCase) ... ok
test_get_radio_stations (tests.api.test_radio.RadioStationTestCase) ... ok
test_update_radio_station (tests.api.test_radio.RadioStationTestCase) ... ok
test_login_admin (tests.frontend.test_login.LoginTestCase) ... ok
test_login_non_admin (tests.frontend.test_login.LoginTestCase) ... ok
test_login_with_bad_data (tests.frontend.test_login.LoginTestCase) ... ok
test_multiple_login (tests.frontend.test_login.LoginTestCase) ... ok
test_root_with_non_valid_session (tests.frontend.test_login.LoginTestCase) ... ok
test_root_with_valid_session (tests.frontend.test_login.LoginTestCase) ... ok
test_unauthorized_request (tests.frontend.test_login.LoginTestCase) ... ok
test_add_get (tests.frontend.test_folder.FolderTestCase) ... ok
test_add_post (tests.frontend.test_folder.FolderTestCase) ... ok
test_delete (tests.frontend.test_folder.FolderTestCase) ... ok
test_index (tests.frontend.test_folder.FolderTestCase) ... ok
test_scan (tests.frontend.test_folder.FolderTestCase) ... ok
test_delete (tests.frontend.test_playlist.PlaylistTestCase) ... ok
test_details (tests.frontend.test_playlist.PlaylistTestCase) ... ok
test_index (tests.frontend.test_playlist.PlaylistTestCase) ... ok
test_update (tests.frontend.test_playlist.PlaylistTestCase) ... ok
test_add_get (tests.frontend.test_user.UserTestCase) ... ok
test_add_post (tests.frontend.test_user.UserTestCase) ... ok
test_change_mail_get (tests.frontend.test_user.UserTestCase) ... ok
test_change_mail_post (tests.frontend.test_user.UserTestCase) ... ok
test_change_password_get (tests.frontend.test_user.UserTestCase) ... ok
test_change_password_post (tests.frontend.test_user.UserTestCase) ... ok
test_change_username_get (tests.frontend.test_user.UserTestCase) ... ok
test_change_username_post (tests.frontend.test_user.UserTestCase) ... ok
test_delete (tests.frontend.test_user.UserTestCase) ... ok
test_details (tests.frontend.test_user.UserTestCase) ... ok
test_index (tests.frontend.test_user.UserTestCase) ... ok
test_lastfm_link (tests.frontend.test_user.UserTestCase) ... ok
test_lastfm_unlink (tests.frontend.test_user.UserTestCase) ... ok
test_update_client_prefs (tests.frontend.test_user.UserTestCase) ... ok
test_issue (tests.issue85.Issue85TestCase) ... ok
test_issue (tests.issue101.Issue101TestCase) ... ok
test_last_play (tests.issue129.Issue129TestCase) ... ok
test_rating (tests.issue129.Issue129TestCase) ... ok
test_starred (tests.issue129.Issue129TestCase) ... ok
test_issue133 (tests.issue133.Issue133TestCase) ... ok
test_float_bitrate (tests.issue139.Issue139TestCase) ... ok
test_null_genre (tests.issue139.Issue139TestCase) ... ok
test_issue (tests.issue148.Issue148TestCase) ... ok

======================================================================
ERROR: test_album (tests.base.test_db.DbTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "<decorator-gen-33>", line 2, in test_album
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/<<PKGBUILDDIR>>/tests/base/test_db.py", line 220, in test_album
    album_dict = album.as_subsonic_album(user)
  File "/<<PKGBUILDDIR>>/supysonic/db.py", line 203, in as_subsonic_album
    track_with_cover = self.tracks.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 3582, in select
    query = query.filter(func, globals, locals)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6114, in filter
    return query._process_lambda(func, globals, locals, order_by=False)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6048, in _process_lambda
    func_ast, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_folder_scan (tests.base.test_cli.CLITestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/base/test_cli.py", line 95, in test_folder_scan
    self.__cli.onecmd("folder scan tmpfolder nonexistent")
  File "/usr/lib/python3.9/cmd.py", line 217, in onecmd
    return func(arg)
  File "/<<PKGBUILDDIR>>/supysonic/cli.py", line 69, in method
    return func(
  File "/<<PKGBUILDDIR>>/supysonic/cli.py", line 223, in folder_scan
    self.__folder_scan_foreground(folders, force)
  File "/<<PKGBUILDDIR>>/supysonic/cli.py", line 264, in __folder_scan_foreground
    folders = select(f.name for f in Folder if f.root and f.name in fstrs)[
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5562, in select
    return make_query(args, frame_depth=cut_traceback_depth+1)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5549, in make_query
    tree, external_names, cells = decompile(gen)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: CONTAINS_OP

======================================================================
ERROR: test_search (tests.api.test_search.SearchTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_search.py", line 82, in test_search
    rv, child = self._make_request("search", {"artist": "One"}, tag="searchResult")
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/search.py", line 34, in old_search
    query = select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5562, in select
    return make_query(args, frame_depth=cut_traceback_depth+1)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5549, in make_query
    tree, external_names, cells = decompile(gen)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: CONTAINS_OP

======================================================================
ERROR: test_search2 (tests.api.test_search.SearchTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_search.py", line 207, in test_search2
    rv, child = self._make_request(
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/search.py", line 110, in new_search
    artists = select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5562, in select
    return make_query(args, frame_depth=cut_traceback_depth+1)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5549, in make_query
    tree, external_names, cells = decompile(gen)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: CONTAINS_OP

======================================================================
ERROR: test_search3 (tests.api.test_search.SearchTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_search.py", line 311, in test_search3
    rv, child = self._make_request(
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/search.py", line 155, in search_id3
    artists = Artist.select(lambda a: query in a.name).limit(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 4021, in select
    return entity._query_from_args_(args, kwargs=None, frame_depth=cut_traceback_depth+1)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 4369, in _query_from_args_
    cond_expr, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: CONTAINS_OP

======================================================================
ERROR: test_get_album (tests.api.test_browse.BrowseTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_browse.py", line 179, in test_get_album
    rv, child = self._make_request("getAlbum", {"id": str(a.id)}, tag="album")
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 515, in new_func
    return func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/browse.py", line 180, in album_info
    info = res.as_subsonic_album(request.user)
  File "/<<PKGBUILDDIR>>/supysonic/db.py", line 203, in as_subsonic_album
    track_with_cover = self.tracks.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 3582, in select
    query = query.filter(func, globals, locals)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6114, in filter
    return query._process_lambda(func, globals, locals, order_by=False)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6048, in _process_lambda
    func_ast, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_get_artist (tests.api.test_browse.BrowseTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_browse.py", line 156, in test_get_artist
    rv, child = self._make_request(
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 515, in new_func
    return func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/browse.py", line 169, in artist_info
    info["album"] = [
  File "/<<PKGBUILDDIR>>/supysonic/api/browse.py", line 170, in <listcomp>
    a.as_subsonic_album(request.user)
  File "/<<PKGBUILDDIR>>/supysonic/db.py", line 203, in as_subsonic_album
    track_with_cover = self.tracks.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 3582, in select
    query = query.filter(func, globals, locals)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6114, in filter
    return query._process_lambda(func, globals, locals, order_by=False)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6048, in _process_lambda
    func_ast, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_get_album_list (tests.api.test_album_songs.AlbumSongsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_album_songs.py", line 65, in test_get_album_list
    self._make_request(
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/albums_songs.py", line 99, in album_list
    query = select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5562, in select
    return make_query(args, frame_depth=cut_traceback_depth+1)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 5549, in make_query
    tree, external_names, cells = decompile(gen)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_get_album_list2 (tests.api.test_album_songs.AlbumSongsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_album_songs.py", line 100, in test_get_album_list2
    self._make_request(
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/albums_songs.py", line 135, in album_list_id3
    dict(album=[a.as_subsonic_album(request.user) for a in query.random(size)]),
  File "/<<PKGBUILDDIR>>/supysonic/api/albums_songs.py", line 135, in <listcomp>
    dict(album=[a.as_subsonic_album(request.user) for a in query.random(size)]),
  File "/<<PKGBUILDDIR>>/supysonic/db.py", line 203, in as_subsonic_album
    track_with_cover = self.tracks.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 3582, in select
    query = query.filter(func, globals, locals)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6114, in filter
    return query._process_lambda(func, globals, locals, order_by=False)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6048, in _process_lambda
    func_ast, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_now_playing (tests.api.test_album_songs.AlbumSongsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_album_songs.py", line 141, in test_now_playing
    self._make_request("getNowPlaying", tag="nowPlaying")
  File "/<<PKGBUILDDIR>>/tests/api/apitestbase.py", line 78, in _make_request
    rg = self.client.get(uri, query_string=args)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
    return self.open(*args, **kw)
  File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
    return Client.open(
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
    response = self.run_wsgi_app(environ.copy(), buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
    app_rv = app(environ, start_response)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 37, in pony_wrapper
    return caller(func, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 528, in new_func
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/<<PKGBUILDDIR>>/supysonic/api/albums_songs.py", line 179, in now_playing
    query = User.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 4021, in select
    return entity._query_from_args_(args, kwargs=None, frame_depth=cut_traceback_depth+1)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 4369, in _query_from_args_
    cond_expr, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_star (tests.api.test_annotation.AnnotationTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_annotation.py", line 85, in test_star
    self.assertIn("starred", Album[self.albumid].as_subsonic_album(self.user))
  File "/<<PKGBUILDDIR>>/supysonic/db.py", line 203, in as_subsonic_album
    track_with_cover = self.tracks.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 3582, in select
    query = query.filter(func, globals, locals)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6114, in filter
    return query._process_lambda(func, globals, locals, order_by=False)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6048, in _process_lambda
    func_ast, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

======================================================================
ERROR: test_unstar (tests.api.test_annotation.AnnotationTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/api/test_annotation.py", line 132, in test_unstar
    "starred", Album[self.albumid].as_subsonic_album(self.user)
  File "/<<PKGBUILDDIR>>/supysonic/db.py", line 203, in as_subsonic_album
    track_with_cover = self.tracks.select(
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 3582, in select
    query = query.filter(func, globals, locals)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6114, in filter
    return query._process_lambda(func, globals, locals, order_by=False)
  File "/usr/lib/python3/dist-packages/pony/orm/core.py", line 6048, in _process_lambda
    func_ast, external_names, cells = decompile(func)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 36, in decompile
    decompiler = Decompiler(codeobject)
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 81, in __init__
    decompiler.decompile()
  File "/usr/lib/python3/dist-packages/pony/orm/decompiling.py", line 171, in decompile
    throw(DecompileError('Unsupported operation: %s' % opname))
  File "/usr/lib/python3/dist-packages/pony/utils/utils.py", line 106, in throw
    raise exc
pony.orm.decompiling.DecompileError: Unsupported operation: IS_OP

----------------------------------------------------------------------
Ran 192 tests in 79.498s

FAILED (errors=12)

I know you can't do much about it before PonyORM fixes the problem, but I wanted to report it nonetheless :)

spl0k commented 3 years ago

I'm not closing this yet as I'd like to run tests beforehand, but Pony just released a new version that should support Python 3.9.

baldurmen commented 3 years ago

I've updated Pony in Debian, and on my side the testsuite passes both on py3.8 and py3.9 with 0.6.1, and so do my integrations tests!

\o/

spl0k commented 3 years ago

Nice :)