feat(launcher): add Tk-based launcher command and wrapper script#2769
feat(launcher): add Tk-based launcher command and wrapper script#2769xxhoeckyxx wants to merge 3 commits into
Conversation
stanislaw
left a comment
There was a problem hiding this comment.
Please rebase (instead of merge) this branch against the latest main branch and squash all your commits to just one. Otherwise, it is harder to review the overall changeset.
When the branch is rebase/squashed to just one commit with your actual change, I will do the next round of review. For now, I left some very obvious comments.
| @@ -0,0 +1,152 @@ | |||
| import subprocess | |||
There was a problem hiding this comment.
Let's consolidate the entire Launcher codebase in the folder strictdoc/features/launcher. This should apply to all files from this PR that are related to this feature.
|
|
||
|
|
||
| def _ensure_git_workspace(self) -> bool: | ||
| if not self._ensure_workspace(): |
There was a problem hiding this comment.
You should be running invoke lint locally to make sure that your Python files have correct indentation. See the Dev Guide about this and other things.
There was a problem hiding this comment.
Actually, the full check is invoke check which includes lint and test under the hood.
There was a problem hiding this comment.
I'm still working on the invoke check - hopefully I'll be able to upload it today, but I'd like to have the changes by Wednesday at the latest.
| messagebox.showerror("Git error", str(exc)) | ||
| return False | ||
|
|
||
| if completed.returncode != 0 or completed.stdout.strip().lower() != "true": |
There was a problem hiding this comment.
Instead of extracting this Git-related functionality to a separate file, let's keep it inside your main launcher.py for now. The file will be bigger but I prefer to have separate files where their interfaces are clearly separated. The issue with this file is that it seems to be about Git but in fact it is still coupled to UI-relevant things like messagebox.showerror etc.
There was a problem hiding this comment.
This role was ultimately not suitable for our company, so I moved it to a separate file. That way, it’s easier to comment it out or remove it. Maybe I could rename the feature to something more descriptive so it’s clear that it’s part of the user interface, or should we just remove this feature entirely? Or move all UI files to a separate folder, as you suggested in your post above. Just let me know what you prefer, and I’ll adjust it accordingly ;)
3f6c37f to
f6b9775
Compare
Refactor code structure for improved readability and maintainability edited workspace entry ttk Combobox now had recent_workspaces with a length of 5 entries added auto show up after fail added color in Logs - The Tk-based wrapper script for the StrictDoc launcher has been removed because it is no longer needed. - The launcher has been moved to a separate feature folder.
…have now been resolved; only 3 still fail due to missing dependencies, and 7 others time out.
e39807a to
68aa304
Compare
GUI Launcher: Start/Stop Server, Exports, Logs & Project Config
Hello everyone,
this is a third proposal featuring a slightly more substantial addition 🙂
I’ve developed an additional GUI launcher using tkinter that allows users to start and stop the server via a graphical user interface.
It also provides a file export feature, where both the export path and the file format can be selected.
Background
At the moment, the server runs locally on every user’s machine, and not everyone feels comfortable working with the command line.
The launcher is intended to provide a simple and user-friendly alternative.
Additional Features
The GUI also allows users to:
As always, feedback is very welcome 🙂
Best regards,
Christopher