Skip to content

AttributeError: 'NoneType' object has no attribute 'update_position'

That is the python error message when running podqast from terminal. The build is latest from tabsview branch.

There are two things that trigger it. Below are the two logs with errors, and a third with no problems.

The first is when an episode finishes on the playlist and it should advance to the next.

[D] onStatusChanged:45 - End of media file:///home/defaultuser/.local/share/harbour-podqast/audio/3253417731e071e2450f99bb2a9319eb69720eb4348e934341d989a39a92ad18.mp3
[W] unknown:0 - GStreamer; Unable to pause - "file:///home/defaultuser/.local/share/harbour-podqast/audio/3253417731e071e2450f99bb2a9319eb69720eb4348e934341d989a39a92ad18.mp3"
[D] onSeekableChanged:29 - onSeekableChanged status: 6 seekPos: 0 dostartafterSeek:false
[W] unknown:0 - Error: "Resource not found."
WARNING:podcast.queue:Podpost 4693 is in queue but not found
INFO:QueueHandler:queue list with 1 entries
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-podqast/qml/components/AsyncWrapper.py\", line 32, in wrapped\n    asyncio.run(fun(*args, **kwargs))\n\n  File \"/usr/lib64/python3.8/asyncio/runners.py\", line 44, in run\n    return loop.run_until_complete(main)\n\n  File \"/usr/lib64/python3.8/asyncio/base_events.py\", line 616, in run_until_complete\n    return future.result()\n\n  File \"/usr/share/harbour-podqast/qml/components/QueueHandler.py\", line 194, in set_duration\n    QueueFactory().get_queue().set_duration(duration)\n\n  File \"/usr/share/harbour-podqast/python/podcast/queue.py\", line 312, in set_duration\n    self._get_top().set_duration(duration)\n\nAttributeError: 'NoneType' object has no attribute 'set_duration'\n"
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-podqast/qml/components/AsyncWrapper.py\", line 32, in wrapped\n    asyncio.run(fun(*args, **kwargs))\n\n  File \"/usr/lib64/python3.8/asyncio/runners.py\", line 44, in run\n    return loop.run_until_complete(main)\n\n  File \"/usr/lib64/python3.8/asyncio/base_events.py\", line 616, in run_until_complete\n    return future.result()\n\n  File \"/usr/share/harbour-podqast/qml/components/QueueHandler.py\", line 187, in update_position\n    queue.update_position(position)\n\n  File \"/usr/share/harbour-podqast/python/podcast/queue.py\", line 212, in update_position\n    PodpostFactory().get_podpost(self.podposts[0]).update_position(position=position)\n\nAttributeError: 'NoneType' object has no attribute 'update_position'\n"
[D] setEpisode:107 - setting episode: Britannia liikkuu oikeistolaisempaan suuntaan Liz Trussin johdolla url:https://ylekdl-a.akamaihd.net/p/1955031/sp/0/download/entry_id/1_vi8hda5j/flavor/1_f7kwgblg/referrer/bW9iaWxlLnlsZS5maQ==/file_name/Politiikkaradio-Britannia-liikkuu-oikeistolaisempaan-suuntaan-Liz-Trussin-johdolla-2022-09-07-v27709111/relocate/Politiikkaradio-Britannia-liikkuu-oikeistolaisempaan-suuntaan-Liz-Trussin-johdolla-2022-09-07-v27709111.mp3 duration:1887000/1909968
[D] onError:51 - python error: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-podqast/qml/components/AsyncWrapper.py", line 32, in wrapped
    asyncio.run(fun(*args, **kwargs))

  File "/usr/lib64/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()

  File "/usr/share/harbour-podqast/qml/components/QueueHandler.py", line 194, in set_duration
    QueueFactory().get_queue().set_duration(duration)

  File "/usr/share/harbour-podqast/python/podcast/queue.py", line 312, in set_duration
    self._get_top().set_duration(duration)

AttributeError: 'NoneType' object has no attribute 'set_duration'

[D] onError:105 - python error: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-podqast/qml/components/AsyncWrapper.py", line 32, in wrapped
    asyncio.run(fun(*args, **kwargs))

  File "/usr/lib64/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()

  File "/usr/share/harbour-podqast/qml/components/QueueHandler.py", line 187, in update_position
    queue.update_position(position)

  File "/usr/share/harbour-podqast/python/podcast/queue.py", line 212, in update_position
    PodpostFactory().get_podpost(self.podposts[0]).update_position(position=position)

AttributeError: 'NoneType' object has no attribute 'update_position'

The second is when pressing play on the lock screen.

[I] playpause:172 - Toggle play: false
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-podqast/qml/components/AsyncWrapper.py\", line 32, in wrapped\n    asyncio.run(fun(*args, **kwargs))\n\n  File \"/usr/lib64/python3.8/asyncio/runners.py\", line 44, in run\n    return loop.run_until_complete(main)\n\n
  File \"/usr/lib64/python3.8/asyncio/base_events.py\", line 616, in run_until_complete\n    return future.result()\n\n  File \"/usr/share/harbour-podqast/qml/components/QueueHandler.py\", line 99, in queue_play\n    data = queue.play()\n\n  File \"/usr/share/harbour-podqast/python/podcast/queue.py\", line 281, in pla
y\n    return self._get_top().play()\n\nAttributeError: 'NoneType' object has no attribute 'play'\n"
[D] onError:51 - python error: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-podqast/qml/components/AsyncWrapper.py", line 32, in wrapped
    asyncio.run(fun(*args, **kwargs))

  File "/usr/lib64/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()

  File "/usr/share/harbour-podqast/qml/components/QueueHandler.py", line 99, in queue_play
    data = queue.play()

  File "/usr/share/harbour-podqast/python/podcast/queue.py", line 281, in play
    return self._get_top().play()

AttributeError: 'NoneType' object has no attribute 'play'

[D] onTriggered:70 - Minuteman
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-podqast/qml/components/AsyncWrapper.py\", line 32, in wrapped\n    asyncio.run(fun(*args, **kwargs))\n\n  File \"/usr/lib64/python3.8/asyncio/runners.py\", line 44, in run\n    return loop.run_until_complete(main)\n\n
  File \"/usr/lib64/python3.8/asyncio/base_events.py\", line 616, in run_until_complete\n    return future.result()\n\n  File \"/usr/share/harbour-podqast/qml/components/QueueHandler.py\", line 187, in update_position\n    queue.update_position(position)\n\n  File \"/usr/share/harbour-podqast/python/podcast/queue.py\"
, line 212, in update_position\n    PodpostFactory().get_podpost(self.podposts[0]).update_position(position=position)\n\nAttributeError: 'NoneType' object has no attribute 'update_position'\n"
[D] onError:105 - python error: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-podqast/qml/components/AsyncWrapper.py", line 32, in wrapped
    asyncio.run(fun(*args, **kwargs))

  File "/usr/lib64/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()

  File "/usr/share/harbour-podqast/qml/components/QueueHandler.py", line 187, in update_position
    queue.update_position(position)

  File "/usr/share/harbour-podqast/python/podcast/queue.py", line 212, in update_position
    PodpostFactory().get_podpost(self.podposts[0]).update_position(position=position)

AttributeError: 'NoneType' object has no attribute 'update_position'

[D] onTriggered:70 - Minuteman
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-podqast/qml/components/AsyncWrapper.py\", line 32, in wrapped\n    asyncio.run(fun(*args, **kwargs))\n\n  File \"/usr/lib64/python3.8/asyncio/runners.py\", line 44, in run\n    return loop.run_until_complete(main)\n\n  File \"/usr/lib64/python3.8/asyncio/base_events.py\", line 616, in run_until_complete\n    return future.result()\n\n  File \"/usr/share/harbour-podqast/qml/components/QueueHandler.py\", line 187, in update_position\n    queue.update_position(position)\n\n  File \"/usr/share/harbour-podqast/python/podcast/queue.py\", line 212, in update_position\n    PodpostFactory().get_podpost(self.podposts[0]).update_position(position=position)\n\nAttributeError: 'NoneType' object has no attribute 'update_position'\n"
[D] onError:105 - python error: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-podqast/qml/components/AsyncWrapper.py", line 32, in wrapped
    asyncio.run(fun(*args, **kwargs))

  File "/usr/lib64/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()

  File "/usr/share/harbour-podqast/qml/components/QueueHandler.py", line 187, in update_position
    queue.update_position(position)

  File "/usr/share/harbour-podqast/python/podcast/queue.py", line 212, in update_position
    PodpostFactory().get_podpost(self.podposts[0]).update_position(position=position)

AttributeError: 'NoneType' object has no attribute 'update_position'

Both of these start to play nicely when I longpress an episode and then press play from the dropdown, as seen from the log below

[D] onCompleted:18 - postdate 1662547500
INFO:podcast.queue:queue insert top 5192, current length: 2
INFO:QueueHandler:stopped in insert_top
[D] onPosPlay:117 - posplay
[D] setEpisode:107 - setting episode: Britannia liikkuu oikeistolaisempaan suuntaan Liz Trussin johdolla url:https://ylekdl-a.akamaihd.net/p/1955031/sp/0/download/entry_id/1_vi8hda5j/flavor/1_f7kwgblg/referrer/bW9iaWxlLnlsZS5maQ==/file_name/Politiikkaradio-Britannia-liikkuu-oikeistolaisempaan-suuntaan-Liz-Trussin-johdolla-2022-09-07-v27709111/relocate/Politiikkaradio-Britannia-liikkuu-oikeistolaisempaan-suuntaan-Liz-Trussin-johdolla-2022-09-07-v27709111.mp3 duration:1887000/1909968
WARNING:podcast.queue:Podpost 4693 is in queue but not found
INFO:QueueHandler:queue list with 1 entries
INFO:QueueHandler:Playing
INFO:podcast.podpost:Downloading audio for Britannia liikkuu oikeistolaisempaan suuntaan Liz Trussin johdolla
[I] onPlaying:55 - Playing audio_url: /home/defaultuser/.local/share/harbour-podqast/audio/84ac45907f6d96a5ee1432599004da80bb566c9dc2178be41513fa878cfb279f.mp3 @ rate 1
[D] onSourceChanged:14 - changing mediaplayer src to: file:///home/defaultuser/.local/share/harbour-podqast/audio/84ac45907f6d96a5ee1432599004da80bb566c9dc2178be41513fa878cfb279f.mp3
[D] onSourceChanged:463 - changing mediaplayer src to: file:///home/defaultuser/.local/share/harbour-podqast/audio/84ac45907f6d96a5ee1432599004da80bb566c9dc2178be41513fa878cfb279f.mp3
INFO:QueueHandler:Playing
[D] onStatusChanged:59 - Paused file:///home/defaultuser/.local/share/harbour-podqast/audio/84ac45907f6d96a5ee1432599004da80bb566c9dc2178be41513fa878cfb279f.mp3
[D] onPlaying:69 - Duration:  -1 Position:  0
[D] onFirstDownloaded:127 - first Downloaded
[D] onFirstDownloaded:132 - we are the first element, switching to file /home/defaultuser/.local/share/harbour-podqast/audio/84ac45907f6d96a5ee1432599004da80bb566c9dc2178be41513fa878cfb279f.mp3/-1
[D] onFirstDownloaded:139 - need to seek indirectly
[I] onPlaying:55 - Playing audio_url: /home/defaultuser/.local/share/harbour-podqast/audio/84ac45907f6d96a5ee1432599004da80bb566c9dc2178be41513fa878cfb279f.mp3 @ rate 1
[D] onPlaying:69 - Duration:  -1 Position:  0
[D] expression for onAudioInfo:404 - audio info
[D] expression for onAudioInfo:404 - audio info
[D] onDurationChanged:35 - duration: 1887843
[D] onSeekableChanged:29 - onSeekableChanged status: 2 seekPos: 0 dostartafterSeek:true
[D] setEpisode:107 - setting episode: Britannia liikkuu oikeistolaisempaan suuntaan Liz Trussin johdolla url:https://ylekdl-a.akamaihd.net/p/1955031/sp/0/download/entry_id/1_vi8hda5j/flavor/1_f7kwgblg/referrer/bW9iaWxlLnlsZS5maQ==/file_name/Politiikkaradio-Britannia-liikkuu-oikeistolaisempaan-suuntaan-Liz-Trussin-johdolla-2022-09-07-v27709111/relocate/Politiikkaradio-Britannia-liikkuu-oikeistolaisempaan-suuntaan-Liz-Trussin-johdolla-2022-09-07-v27709111.mp3 duration:1887843/1887843
WARNING:podcast.queue:Podpost 4693 is in queue but not found
INFO:QueueHandler:queue list with 1 entries
[D] onTriggered:70 - Minuteman
[D] onTriggered:70 - Minuteman