-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Spotify web player #13
Conversation
resolve conflict
Hello @JamesVStone! Thanks for updating this PR. There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻 Comment last updated at 2019-12-26 13:58:16 UTC |
Codecov Report
@@ Coverage Diff @@
## master #13 +/- ##
=========================================
Coverage ? 65.54%
=========================================
Files ? 3
Lines ? 119
Branches ? 11
=========================================
Hits ? 78
Misses ? 37
Partials ? 4
Continue to review full report at Codecov.
|
You've bundled the extension here as well? |
Additionally, can you explain exactly how everything works so it is easier and faster to review? |
sure! Right so my solution consists of two pull requests (this one and one to the chrome extension which was referenced in the description). NOTE: the extension is not here I have created a second pull request at here How it worksI have added a file called This data is than passed to My modification to the chrome plugin makes it send the data more frequently so we can capture it more efficiently in this program. TestsI still need to improve coverage of the new code which I have added as the bot is telling me. As for functionality it should work on all supported platforms (Windows, Mac and Linux). I have tested it progressively with SwagLyrics which works with the new version of my program. It successfully gets the track information and collects the lyrics! |
Signed-off-by: jstone <[email protected]>
@aadibajpai All finished. Fully threaded implementation which has timeout and memory safe fallback to complete. Apologies for my early submission. There are no dangling threads in the latest commit. |
To clarify this PR requires on these changes to the chrome extension. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a lot going on in the web_player file, can you explain it a bit? Also, a server is spawned every time get_info_web() is called and it keeps running until it receives a request from the extension?
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
You should aim to fully cover testing spotify_web.py especially since it's being added newly and we want it to be future proof. A good way to write tests is to imagine the flow of control and structure tests accordingly. The existing testsuite for the other functions should give you an insight 🙂 |
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
Signed-off-by: jstone <[email protected]>
@JamesVStone let me know when it's ready for review |
acc clicked comment and close :/ |
no worries 😄 |
UpdateThe program is now completely synchronous and does not need threading to work. As a result, the program now works better as I have seen in concurrency diagrams. In addition, I have refactored some of the identifier names and improved the interface between the files. I have removed some tests and added some more meaningful and ones that actually prove that the program works (as opposed to just adding coverage). This is how the programs works now:
|
I have added methods to communicate track information from the chrome extension here.
This relies on this pull request being merged into the chrome extension. here.