Closed OnceUponALoop closed 2 years ago
My initial attempt at a dev environment is just leaving me with a "there's got to be a better way" feeling
When working with Kodi, that's definitely the case. I work on Linux, so I don't have the working-remotely setup you have. But what I do is:
Whenever I make edits, I exit the addon and re-open it.
That's for Kodi, and I don't know of any better workflow.
However, more and more logic is being moved to pigskin, and I have put a lot of effort recently into making it actually functional standalone --- and adding tests. Unless you're working on integration with Kodi, chances are good you only need pigskin, and for that I recommend that you look at the aqw/pigskin repo.
For pigskin, my setup is a bit different:
pytest
should run cleanlypytest
without actually contacting Game Pass's servers (vcr.py FTW) --- unless, of course, I've changed what the actual HTTP request is. Then the corresponding "cassette" needs to be updated.ipython
instance open. Once I've identified the server and params from devtools, I open a request in ipython
and start playing with the returned data. This gives me a better idea of how I want to actually write the function in pigskin.py
.Once everything is committed to the pigskin project and passing the travis tests, then I cherry-pick the changes into xbmc-gamepass.
I hope that's enough info to give you some insight. Let me know if I can share any more info.
This stuff really should be documented, once I get docs going -- hopefully soonish.
General Question - Not an issue
What's your development environment for this look like, what's the debugging workflow, what tools you use, etc...
When looking into pigskin in the past I just wrote a small script to call it while passing traffic through a fiddler proxy to view the output but it's harder when you're trying to debug the actual addon logic.
My initial attempt at a dev environment is just leaving me with a "there's got to be a better way" feeling
Setup
Workflow
References