umu-commander 1.5.5__tar.gz → 1.5.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of umu-commander might be problematic. Click here for more details.
- umu_commander-1.5.6/.idea/shelf/Uncommitted_changes_before_rebase_[Changes]1/shelved.patch +12 -0
- umu_commander-1.5.6/.idea/shelf/Uncommitted_changes_before_rebase__Changes_.xml +4 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/workspace.xml +266 -220
- umu_commander-1.5.6/PKG-INFO +61 -0
- umu_commander-1.5.6/README.md +45 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/pyproject.toml +5 -2
- umu_commander-1.5.6/src/umu_commander/__init__.py +1 -0
- umu_commander-1.5.6/src/umu_commander/__main__.py +71 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/classes.py +1 -1
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/configuration.py +1 -5
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/database.py +3 -5
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/proton.py +2 -2
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/tracking.py +7 -2
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/umu_config.py +0 -1
- {umu_commander-1.5.5 → umu_commander-1.5.6}/src/umu_commander/util.py +11 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/tests/test_db.py +5 -2
- {umu_commander-1.5.5 → umu_commander-1.5.6}/tests/test_tracking.py +0 -1
- umu_commander-1.5.5/PKG-INFO +0 -59
- umu_commander-1.5.5/README.md +0 -43
- umu_commander-1.5.5/src/umu_commander/__init__.py +0 -0
- umu_commander-1.5.5/src/umu_commander/main.py +0 -68
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.gitignore +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/.gitignore +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/inspectionProfiles/Project_Default.xml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/misc.xml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/modules.xml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/shelf/Uncommitted_changes_before_rebase_[Changes]/shelved.patch +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/umu-commander.iml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/.idea/vcs.xml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/LICENSE.txt +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/example_config.toml +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/tests/__init__.py +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/tests/test_config.py +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/tests/test_manual.py +0 -0
- {umu_commander-1.5.5 → umu_commander-1.5.6}/tests/test_proton.py +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Index: src/umu_commander/__init__.py
|
|
2
|
+
IDEA additional info:
|
|
3
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
4
|
+
<+>VERSION = \"v1.5.6\"\n
|
|
5
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
6
|
+
<+>UTF-8
|
|
7
|
+
===================================================================
|
|
8
|
+
diff --git a/src/umu_commander/__init__.py b/src/umu_commander/__init__.py
|
|
9
|
+
--- a/src/umu_commander/__init__.py (revision ebc968e623b6ee38499de12ff2a04c4bf2311db2)
|
|
10
|
+
+++ b/src/umu_commander/__init__.py (date 1754484120387)
|
|
11
|
+
@@ -1,1 +1,0 @@
|
|
12
|
+
-VERSION = "v1.5.6"
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<changelist name="Uncommitted_changes_before_rebase_[Changes]" date="1754468467307" recycled="true" deleted="true">
|
|
2
|
+
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_rebase_[Changes]/shelved.patch" />
|
|
3
|
+
<option name="DESCRIPTION" value="Uncommitted changes before rebase [Changes]" />
|
|
4
|
+
</changelist>
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
5
|
</component>
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="043620f1-711f-4c27-a2e2-15fa501e8ce0" name="Changes" comment="
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/
|
|
7
|
+
<list default="true" id="043620f1-711f-4c27-a2e2-15fa501e8ce0" name="Changes" comment="Add dynamic versioning">
|
|
8
|
+
<change beforePath="$PROJECT_DIR$/src/umu_commander/__main__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/umu_commander/__main__.py" afterDir="false" />
|
|
9
|
+
<change beforePath="$PROJECT_DIR$/src/umu_commander/util.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/umu_commander/util.py" afterDir="false" />
|
|
9
10
|
</list>
|
|
10
11
|
<option name="SHOW_DIALOG" value="false" />
|
|
11
12
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -52,46 +53,50 @@
|
|
|
52
53
|
<option name="hideEmptyMiddlePackages" value="true" />
|
|
53
54
|
<option name="showLibraryContents" value="true" />
|
|
54
55
|
</component>
|
|
55
|
-
<component name="PropertiesComponent"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
56
|
+
<component name="PropertiesComponent"><![CDATA[{
|
|
57
|
+
"keyToString": {
|
|
58
|
+
"Python tests.Python tests for test_config.Config.executor": "Run",
|
|
59
|
+
"Python tests.Python tests for test_config.Config.test_missing_config.executor": "Run",
|
|
60
|
+
"Python tests.Python tests for test_db.DB.executor": "Run",
|
|
61
|
+
"Python tests.Python tests for test_db.Database.executor": "Run",
|
|
62
|
+
"Python tests.Python tests for test_db.Database.test_addition_removal.executor": "Run",
|
|
63
|
+
"Python tests.Python tests for test_db.Database.test_missing_db.executor": "Run",
|
|
64
|
+
"Python tests.Python tests for test_proton.Tracking.executor": "Run",
|
|
65
|
+
"Python tests.Python tests for test_proton.Tracking.test_collect_proton_versions.executor": "Run",
|
|
66
|
+
"Python tests.Python tests for test_tracking.Tracking.executor": "Run",
|
|
67
|
+
"Python tests.Python tests for test_tracking.Tracking.test_track.executor": "Run",
|
|
68
|
+
"Python tests.Python tests for test_tracking.Tracking.test_track_untrack.executor": "Run",
|
|
69
|
+
"Python tests.Python tests for test_tracking.TrackingTest.executor": "Run",
|
|
70
|
+
"Python tests.Python tests for test_tracking.TrackingTest.test_track.executor": "Run",
|
|
71
|
+
"Python tests.Python tests for tests.test_db.DB.executor": "Run",
|
|
72
|
+
"Python tests.Python tests for tests.test_db.DBTest.executor": "Run",
|
|
73
|
+
"Python tests.Python tests for tests.test_db.DBTest.test_addition_removal.executor": "Run",
|
|
74
|
+
"Python tests.Python tests for tests.test_db.DBTest.test_malformed_db.executor": "Run",
|
|
75
|
+
"Python tests.Python tests for tests.test_db.DBTest.test_missing_db.executor": "Run",
|
|
76
|
+
"Python tests.Python tests for tests.test_tracking.Tracking.executor": "Run",
|
|
77
|
+
"Python tests.Python tests for tests.test_tracking.TrackingTest.executor": "Debug",
|
|
78
|
+
"Python tests.Python tests for tests.test_tracking.TrackingTest.test_track.executor": "Run",
|
|
79
|
+
"Python tests.Python tests in tests.executor": "Run",
|
|
80
|
+
"Python tests.Run tests.executor": "Run",
|
|
81
|
+
"Python.Module.executor": "Run",
|
|
82
|
+
"Python.create.executor": "Run",
|
|
83
|
+
"Python.delete.executor": "Run",
|
|
84
|
+
"Python.manage.executor": "Run",
|
|
85
|
+
"Python.run.executor": "Run",
|
|
86
|
+
"Python.track.executor": "Run",
|
|
87
|
+
"Python.umu-commander.executor": "Run",
|
|
88
|
+
"Python.untrack.executor": "Run",
|
|
89
|
+
"Python.users.executor": "Run",
|
|
90
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
91
|
+
"RunOnceActivity.git.unshallow": "true",
|
|
92
|
+
"Shell Script.Build.executor": "Run",
|
|
93
|
+
"Shell Script.Upload.executor": "Run",
|
|
94
|
+
"git-widget-placeholder": "master",
|
|
95
|
+
"last_opened_file_path": "/home/hiroshi/Code/Python/umu-commander/tests",
|
|
96
|
+
"run.code.analysis.last.selected.profile": "aDefault",
|
|
97
|
+
"settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
|
|
93
98
|
}
|
|
94
|
-
}
|
|
99
|
+
}]]></component>
|
|
95
100
|
<component name="RecentsManager">
|
|
96
101
|
<key name="CopyFile.RECENT_KEYS">
|
|
97
102
|
<recent name="$PROJECT_DIR$/tests" />
|
|
@@ -102,6 +107,29 @@
|
|
|
102
107
|
</key>
|
|
103
108
|
</component>
|
|
104
109
|
<component name="RunManager" selected="Shell Script.Upload">
|
|
110
|
+
<configuration name="Module" type="PythonConfigurationType" factoryName="Python">
|
|
111
|
+
<module name="umu-commander" />
|
|
112
|
+
<option name="ENV_FILES" value="" />
|
|
113
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
114
|
+
<option name="PARENT_ENVS" value="true" />
|
|
115
|
+
<envs>
|
|
116
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
117
|
+
</envs>
|
|
118
|
+
<option name="SDK_HOME" value="" />
|
|
119
|
+
<option name="SDK_NAME" value="Python 3.12 (umu-commander)" />
|
|
120
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
121
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
122
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
123
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
124
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
125
|
+
<option name="PARAMETERS" value="" />
|
|
126
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
127
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
128
|
+
<option name="MODULE_MODE" value="true" />
|
|
129
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
130
|
+
<option name="INPUT_FILE" value="" />
|
|
131
|
+
<method v="2" />
|
|
132
|
+
</configuration>
|
|
105
133
|
<configuration name="create" type="PythonConfigurationType" factoryName="Python">
|
|
106
134
|
<module name="umu-commander" />
|
|
107
135
|
<option name="ENV_FILES" value="" />
|
|
@@ -115,11 +143,11 @@
|
|
|
115
143
|
<option name="IS_MODULE_SDK" value="true" />
|
|
116
144
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
117
145
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
118
|
-
<option name="SCRIPT_NAME" value="
|
|
146
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
119
147
|
<option name="PARAMETERS" value="create" />
|
|
120
148
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
121
149
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
122
|
-
<option name="MODULE_MODE" value="
|
|
150
|
+
<option name="MODULE_MODE" value="true" />
|
|
123
151
|
<option name="REDIRECT_INPUT" value="false" />
|
|
124
152
|
<option name="INPUT_FILE" value="" />
|
|
125
153
|
<method v="2" />
|
|
@@ -137,11 +165,11 @@
|
|
|
137
165
|
<option name="IS_MODULE_SDK" value="true" />
|
|
138
166
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
139
167
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
140
|
-
<option name="SCRIPT_NAME" value="
|
|
168
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
141
169
|
<option name="PARAMETERS" value="delete" />
|
|
142
170
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
143
171
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
144
|
-
<option name="MODULE_MODE" value="
|
|
172
|
+
<option name="MODULE_MODE" value="true" />
|
|
145
173
|
<option name="REDIRECT_INPUT" value="false" />
|
|
146
174
|
<option name="INPUT_FILE" value="" />
|
|
147
175
|
<method v="2" />
|
|
@@ -159,11 +187,11 @@
|
|
|
159
187
|
<option name="IS_MODULE_SDK" value="true" />
|
|
160
188
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
161
189
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
162
|
-
<option name="SCRIPT_NAME" value="
|
|
190
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
163
191
|
<option name="PARAMETERS" value="run" />
|
|
164
192
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
165
193
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
166
|
-
<option name="MODULE_MODE" value="
|
|
194
|
+
<option name="MODULE_MODE" value="true" />
|
|
167
195
|
<option name="REDIRECT_INPUT" value="false" />
|
|
168
196
|
<option name="INPUT_FILE" value="" />
|
|
169
197
|
<method v="2" />
|
|
@@ -181,11 +209,11 @@
|
|
|
181
209
|
<option name="IS_MODULE_SDK" value="true" />
|
|
182
210
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
183
211
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
184
|
-
<option name="SCRIPT_NAME" value="
|
|
212
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
185
213
|
<option name="PARAMETERS" value="track" />
|
|
186
214
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
187
215
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
188
|
-
<option name="MODULE_MODE" value="
|
|
216
|
+
<option name="MODULE_MODE" value="true" />
|
|
189
217
|
<option name="REDIRECT_INPUT" value="false" />
|
|
190
218
|
<option name="INPUT_FILE" value="" />
|
|
191
219
|
<method v="2" />
|
|
@@ -203,11 +231,11 @@
|
|
|
203
231
|
<option name="IS_MODULE_SDK" value="true" />
|
|
204
232
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
205
233
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
206
|
-
<option name="SCRIPT_NAME" value="
|
|
234
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
207
235
|
<option name="PARAMETERS" value="untrack" />
|
|
208
236
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
209
237
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
210
|
-
<option name="MODULE_MODE" value="
|
|
238
|
+
<option name="MODULE_MODE" value="true" />
|
|
211
239
|
<option name="REDIRECT_INPUT" value="false" />
|
|
212
240
|
<option name="INPUT_FILE" value="" />
|
|
213
241
|
<method v="2" />
|
|
@@ -225,11 +253,11 @@
|
|
|
225
253
|
<option name="IS_MODULE_SDK" value="true" />
|
|
226
254
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
227
255
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
228
|
-
<option name="SCRIPT_NAME" value="
|
|
256
|
+
<option name="SCRIPT_NAME" value="umu_commander" />
|
|
229
257
|
<option name="PARAMETERS" value="users" />
|
|
230
258
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
231
259
|
<option name="EMULATE_TERMINAL" value="false" />
|
|
232
|
-
<option name="MODULE_MODE" value="
|
|
260
|
+
<option name="MODULE_MODE" value="true" />
|
|
233
261
|
<option name="REDIRECT_INPUT" value="false" />
|
|
234
262
|
<option name="INPUT_FILE" value="" />
|
|
235
263
|
<method v="2" />
|
|
@@ -266,7 +294,7 @@
|
|
|
266
294
|
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Build" run_configuration_type="ShConfigurationType" />
|
|
267
295
|
</method>
|
|
268
296
|
</configuration>
|
|
269
|
-
<configuration name="Python tests for
|
|
297
|
+
<configuration name="Python tests for test_db.Database" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
270
298
|
<module name="umu-commander" />
|
|
271
299
|
<option name="ENV_FILES" value="" />
|
|
272
300
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -277,11 +305,11 @@
|
|
|
277
305
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
278
306
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
279
307
|
<option name="_new_additionalArguments" value="""" />
|
|
280
|
-
<option name="_new_target" value=""
|
|
308
|
+
<option name="_new_target" value=""test_db.Database"" />
|
|
281
309
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
282
310
|
<method v="2" />
|
|
283
311
|
</configuration>
|
|
284
|
-
<configuration name="Python tests for
|
|
312
|
+
<configuration name="Python tests for test_db.Database.test_addition_removal" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
285
313
|
<module name="umu-commander" />
|
|
286
314
|
<option name="ENV_FILES" value="" />
|
|
287
315
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -292,11 +320,11 @@
|
|
|
292
320
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
293
321
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
294
322
|
<option name="_new_additionalArguments" value="""" />
|
|
295
|
-
<option name="_new_target" value=""
|
|
323
|
+
<option name="_new_target" value=""test_db.Database.test_addition_removal"" />
|
|
296
324
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
297
325
|
<method v="2" />
|
|
298
326
|
</configuration>
|
|
299
|
-
<configuration name="Python tests for
|
|
327
|
+
<configuration name="Python tests for test_db.Database.test_missing_db" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
300
328
|
<module name="umu-commander" />
|
|
301
329
|
<option name="ENV_FILES" value="" />
|
|
302
330
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -307,7 +335,22 @@
|
|
|
307
335
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
308
336
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
309
337
|
<option name="_new_additionalArguments" value="""" />
|
|
310
|
-
<option name="_new_target" value=""
|
|
338
|
+
<option name="_new_target" value=""test_db.Database.test_missing_db"" />
|
|
339
|
+
<option name="_new_targetType" value=""PYTHON"" />
|
|
340
|
+
<method v="2" />
|
|
341
|
+
</configuration>
|
|
342
|
+
<configuration name="Python tests for test_tracking.Tracking" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
343
|
+
<module name="umu-commander" />
|
|
344
|
+
<option name="ENV_FILES" value="" />
|
|
345
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
346
|
+
<option name="PARENT_ENVS" value="true" />
|
|
347
|
+
<option name="SDK_HOME" value="" />
|
|
348
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/tests" />
|
|
349
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
350
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
351
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
352
|
+
<option name="_new_additionalArguments" value="""" />
|
|
353
|
+
<option name="_new_target" value=""test_tracking.Tracking"" />
|
|
311
354
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
312
355
|
<method v="2" />
|
|
313
356
|
</configuration>
|
|
@@ -342,6 +385,7 @@
|
|
|
342
385
|
<method v="2" />
|
|
343
386
|
</configuration>
|
|
344
387
|
<list>
|
|
388
|
+
<item itemvalue="Python.Module" />
|
|
345
389
|
<item itemvalue="Python.users" />
|
|
346
390
|
<item itemvalue="Python.run" />
|
|
347
391
|
<item itemvalue="Python.track" />
|
|
@@ -349,19 +393,21 @@
|
|
|
349
393
|
<item itemvalue="Python.delete" />
|
|
350
394
|
<item itemvalue="Python.create" />
|
|
351
395
|
<item itemvalue="Python tests.Run tests" />
|
|
352
|
-
<item itemvalue="Python tests.Python tests for
|
|
396
|
+
<item itemvalue="Python tests.Python tests for test_db.Database" />
|
|
397
|
+
<item itemvalue="Python tests.Python tests for test_db.Database.test_addition_removal" />
|
|
398
|
+
<item itemvalue="Python tests.Python tests for test_tracking.Tracking" />
|
|
399
|
+
<item itemvalue="Python tests.Python tests for test_db.Database.test_missing_db" />
|
|
353
400
|
<item itemvalue="Python tests.Python tests for test_tracking.Tracking.test_track_untrack" />
|
|
354
|
-
<item itemvalue="Python tests.Python tests for test_config.Config" />
|
|
355
|
-
<item itemvalue="Python tests.Python tests for test_config.Config.test_missing_config" />
|
|
356
401
|
<item itemvalue="Shell Script.Upload" />
|
|
357
402
|
<item itemvalue="Shell Script.Build" />
|
|
358
403
|
</list>
|
|
359
404
|
<recent_temporary>
|
|
360
405
|
<list>
|
|
406
|
+
<item itemvalue="Python tests.Python tests for test_tracking.Tracking" />
|
|
407
|
+
<item itemvalue="Python tests.Python tests for test_db.Database" />
|
|
408
|
+
<item itemvalue="Python tests.Python tests for test_db.Database.test_addition_removal" />
|
|
409
|
+
<item itemvalue="Python tests.Python tests for test_db.Database.test_missing_db" />
|
|
361
410
|
<item itemvalue="Python tests.Python tests for test_tracking.Tracking.test_track_untrack" />
|
|
362
|
-
<item itemvalue="Python tests.Python tests for test_proton.Tracking" />
|
|
363
|
-
<item itemvalue="Python tests.Python tests for test_config.Config" />
|
|
364
|
-
<item itemvalue="Python tests.Python tests for test_config.Config.test_missing_config" />
|
|
365
411
|
</list>
|
|
366
412
|
</recent_temporary>
|
|
367
413
|
</component>
|
|
@@ -381,142 +427,6 @@
|
|
|
381
427
|
<option name="presentableId" value="Default" />
|
|
382
428
|
<updated>1751043400140</updated>
|
|
383
429
|
</task>
|
|
384
|
-
<task id="LOCAL-00014" summary="Update readme">
|
|
385
|
-
<option name="closed" value="true" />
|
|
386
|
-
<created>1751919652836</created>
|
|
387
|
-
<option name="number" value="00014" />
|
|
388
|
-
<option name="presentableId" value="LOCAL-00014" />
|
|
389
|
-
<option name="project" value="LOCAL" />
|
|
390
|
-
<updated>1751919652836</updated>
|
|
391
|
-
</task>
|
|
392
|
-
<task id="LOCAL-00015" summary="Update readme">
|
|
393
|
-
<option name="closed" value="true" />
|
|
394
|
-
<created>1751919831048</created>
|
|
395
|
-
<option name="number" value="00015" />
|
|
396
|
-
<option name="presentableId" value="LOCAL-00015" />
|
|
397
|
-
<option name="project" value="LOCAL" />
|
|
398
|
-
<updated>1751919831048</updated>
|
|
399
|
-
</task>
|
|
400
|
-
<task id="LOCAL-00016" summary="Update internal readme">
|
|
401
|
-
<option name="closed" value="true" />
|
|
402
|
-
<created>1751920817201</created>
|
|
403
|
-
<option name="number" value="00016" />
|
|
404
|
-
<option name="presentableId" value="LOCAL-00016" />
|
|
405
|
-
<option name="project" value="LOCAL" />
|
|
406
|
-
<updated>1751920817201</updated>
|
|
407
|
-
</task>
|
|
408
|
-
<task id="LOCAL-00017" summary="Formatting">
|
|
409
|
-
<option name="closed" value="true" />
|
|
410
|
-
<created>1751920821646</created>
|
|
411
|
-
<option name="number" value="00017" />
|
|
412
|
-
<option name="presentableId" value="LOCAL-00017" />
|
|
413
|
-
<option name="project" value="LOCAL" />
|
|
414
|
-
<updated>1751920821646</updated>
|
|
415
|
-
</task>
|
|
416
|
-
<task id="LOCAL-00018" summary="Formatting">
|
|
417
|
-
<option name="closed" value="true" />
|
|
418
|
-
<created>1751921066544</created>
|
|
419
|
-
<option name="number" value="00018" />
|
|
420
|
-
<option name="presentableId" value="LOCAL-00018" />
|
|
421
|
-
<option name="project" value="LOCAL" />
|
|
422
|
-
<updated>1751921066544</updated>
|
|
423
|
-
</task>
|
|
424
|
-
<task id="LOCAL-00019" summary="Formatting">
|
|
425
|
-
<option name="closed" value="true" />
|
|
426
|
-
<created>1751922975716</created>
|
|
427
|
-
<option name="number" value="00019" />
|
|
428
|
-
<option name="presentableId" value="LOCAL-00019" />
|
|
429
|
-
<option name="project" value="LOCAL" />
|
|
430
|
-
<updated>1751922975716</updated>
|
|
431
|
-
</task>
|
|
432
|
-
<task id="LOCAL-00020" summary="Specify python version in readme">
|
|
433
|
-
<option name="closed" value="true" />
|
|
434
|
-
<created>1751922993313</created>
|
|
435
|
-
<option name="number" value="00020" />
|
|
436
|
-
<option name="presentableId" value="LOCAL-00020" />
|
|
437
|
-
<option name="project" value="LOCAL" />
|
|
438
|
-
<updated>1751922993313</updated>
|
|
439
|
-
</task>
|
|
440
|
-
<task id="LOCAL-00021" summary="Handle vanilla configs too">
|
|
441
|
-
<option name="closed" value="true" />
|
|
442
|
-
<created>1751974934285</created>
|
|
443
|
-
<option name="number" value="00021" />
|
|
444
|
-
<option name="presentableId" value="LOCAL-00021" />
|
|
445
|
-
<option name="project" value="LOCAL" />
|
|
446
|
-
<updated>1751974934285</updated>
|
|
447
|
-
</task>
|
|
448
|
-
<task id="LOCAL-00022" summary="Test formatting precommit hook">
|
|
449
|
-
<option name="closed" value="true" />
|
|
450
|
-
<created>1751976826700</created>
|
|
451
|
-
<option name="number" value="00022" />
|
|
452
|
-
<option name="presentableId" value="LOCAL-00022" />
|
|
453
|
-
<option name="project" value="LOCAL" />
|
|
454
|
-
<updated>1751976826700</updated>
|
|
455
|
-
</task>
|
|
456
|
-
<task id="LOCAL-00023" summary="Test formatting precommit hook">
|
|
457
|
-
<option name="closed" value="true" />
|
|
458
|
-
<created>1751976969401</created>
|
|
459
|
-
<option name="number" value="00023" />
|
|
460
|
-
<option name="presentableId" value="LOCAL-00023" />
|
|
461
|
-
<option name="project" value="LOCAL" />
|
|
462
|
-
<updated>1751976969401</updated>
|
|
463
|
-
</task>
|
|
464
|
-
<task id="LOCAL-00024" summary="Add license">
|
|
465
|
-
<option name="closed" value="true" />
|
|
466
|
-
<created>1752252206479</created>
|
|
467
|
-
<option name="number" value="00024" />
|
|
468
|
-
<option name="presentableId" value="LOCAL-00024" />
|
|
469
|
-
<option name="project" value="LOCAL" />
|
|
470
|
-
<updated>1752252206479</updated>
|
|
471
|
-
</task>
|
|
472
|
-
<task id="LOCAL-00025" summary="Update readme to mention umu-run dependency">
|
|
473
|
-
<option name="closed" value="true" />
|
|
474
|
-
<created>1752252335516</created>
|
|
475
|
-
<option name="number" value="00025" />
|
|
476
|
-
<option name="presentableId" value="LOCAL-00025" />
|
|
477
|
-
<option name="project" value="LOCAL" />
|
|
478
|
-
<updated>1752252335516</updated>
|
|
479
|
-
</task>
|
|
480
|
-
<task id="LOCAL-00026" summary="Tracking was broken">
|
|
481
|
-
<option name="closed" value="true" />
|
|
482
|
-
<created>1752487321360</created>
|
|
483
|
-
<option name="number" value="00026" />
|
|
484
|
-
<option name="presentableId" value="LOCAL-00026" />
|
|
485
|
-
<option name="project" value="LOCAL" />
|
|
486
|
-
<updated>1752487321360</updated>
|
|
487
|
-
</task>
|
|
488
|
-
<task id="LOCAL-00027" summary="Rename Classes file to classes">
|
|
489
|
-
<option name="closed" value="true" />
|
|
490
|
-
<created>1752487511906</created>
|
|
491
|
-
<option name="number" value="00027" />
|
|
492
|
-
<option name="presentableId" value="LOCAL-00027" />
|
|
493
|
-
<option name="project" value="LOCAL" />
|
|
494
|
-
<updated>1752487511906</updated>
|
|
495
|
-
</task>
|
|
496
|
-
<task id="LOCAL-00028" summary="Make tracking DB more readable">
|
|
497
|
-
<option name="closed" value="true" />
|
|
498
|
-
<created>1752487846816</created>
|
|
499
|
-
<option name="number" value="00028" />
|
|
500
|
-
<option name="presentableId" value="LOCAL-00028" />
|
|
501
|
-
<option name="project" value="LOCAL" />
|
|
502
|
-
<updated>1752487846816</updated>
|
|
503
|
-
</task>
|
|
504
|
-
<task id="LOCAL-00029" summary="Handle missing DB_DIR">
|
|
505
|
-
<option name="closed" value="true" />
|
|
506
|
-
<created>1753029750819</created>
|
|
507
|
-
<option name="number" value="00029" />
|
|
508
|
-
<option name="presentableId" value="LOCAL-00029" />
|
|
509
|
-
<option name="project" value="LOCAL" />
|
|
510
|
-
<updated>1753029750819</updated>
|
|
511
|
-
</task>
|
|
512
|
-
<task id="LOCAL-00030" summary="Support multiple proton directories">
|
|
513
|
-
<option name="closed" value="true" />
|
|
514
|
-
<created>1753029820914</created>
|
|
515
|
-
<option name="number" value="00030" />
|
|
516
|
-
<option name="presentableId" value="LOCAL-00030" />
|
|
517
|
-
<option name="project" value="LOCAL" />
|
|
518
|
-
<updated>1753029820914</updated>
|
|
519
|
-
</task>
|
|
520
430
|
<task id="LOCAL-00031" summary="Add UMU_PROTON_DIR config key">
|
|
521
431
|
<option name="closed" value="true" />
|
|
522
432
|
<created>1753108719123</created>
|
|
@@ -773,7 +683,143 @@
|
|
|
773
683
|
<option name="project" value="LOCAL" />
|
|
774
684
|
<updated>1754005137926</updated>
|
|
775
685
|
</task>
|
|
776
|
-
<
|
|
686
|
+
<task id="LOCAL-00063" summary="Reformatting Add another tag">
|
|
687
|
+
<option name="closed" value="true" />
|
|
688
|
+
<created>1754463543077</created>
|
|
689
|
+
<option name="number" value="00063" />
|
|
690
|
+
<option name="presentableId" value="LOCAL-00063" />
|
|
691
|
+
<option name="project" value="LOCAL" />
|
|
692
|
+
<updated>1754463543078</updated>
|
|
693
|
+
</task>
|
|
694
|
+
<task id="LOCAL-00064" summary="Reformat configuration module">
|
|
695
|
+
<option name="closed" value="true" />
|
|
696
|
+
<created>1754465983805</created>
|
|
697
|
+
<option name="number" value="00064" />
|
|
698
|
+
<option name="presentableId" value="LOCAL-00064" />
|
|
699
|
+
<option name="project" value="LOCAL" />
|
|
700
|
+
<updated>1754465983805</updated>
|
|
701
|
+
</task>
|
|
702
|
+
<task id="LOCAL-00065" summary="Check for umu-config existence">
|
|
703
|
+
<option name="closed" value="true" />
|
|
704
|
+
<created>1754466163885</created>
|
|
705
|
+
<option name="number" value="00065" />
|
|
706
|
+
<option name="presentableId" value="LOCAL-00065" />
|
|
707
|
+
<option name="project" value="LOCAL" />
|
|
708
|
+
<updated>1754466163885</updated>
|
|
709
|
+
</task>
|
|
710
|
+
<task id="LOCAL-00066" summary="formatting">
|
|
711
|
+
<option name="closed" value="true" />
|
|
712
|
+
<created>1754466689272</created>
|
|
713
|
+
<option name="number" value="00066" />
|
|
714
|
+
<option name="presentableId" value="LOCAL-00066" />
|
|
715
|
+
<option name="project" value="LOCAL" />
|
|
716
|
+
<updated>1754466689272</updated>
|
|
717
|
+
</task>
|
|
718
|
+
<task id="LOCAL-00067" summary="formatting">
|
|
719
|
+
<option name="closed" value="true" />
|
|
720
|
+
<created>1754466829100</created>
|
|
721
|
+
<option name="number" value="00067" />
|
|
722
|
+
<option name="presentableId" value="LOCAL-00067" />
|
|
723
|
+
<option name="project" value="LOCAL" />
|
|
724
|
+
<updated>1754466829100</updated>
|
|
725
|
+
</task>
|
|
726
|
+
<task id="LOCAL-00068" summary="Misc fixes">
|
|
727
|
+
<option name="closed" value="true" />
|
|
728
|
+
<created>1754467866830</created>
|
|
729
|
+
<option name="number" value="00068" />
|
|
730
|
+
<option name="presentableId" value="LOCAL-00068" />
|
|
731
|
+
<option name="project" value="LOCAL" />
|
|
732
|
+
<updated>1754467866830</updated>
|
|
733
|
+
</task>
|
|
734
|
+
<task id="LOCAL-00069" summary="Fix">
|
|
735
|
+
<option name="closed" value="true" />
|
|
736
|
+
<created>1754468447166</created>
|
|
737
|
+
<option name="number" value="00069" />
|
|
738
|
+
<option name="presentableId" value="LOCAL-00069" />
|
|
739
|
+
<option name="project" value="LOCAL" />
|
|
740
|
+
<updated>1754468447166</updated>
|
|
741
|
+
</task>
|
|
742
|
+
<task id="LOCAL-00070" summary="Change DB structure">
|
|
743
|
+
<option name="closed" value="true" />
|
|
744
|
+
<created>1754469004113</created>
|
|
745
|
+
<option name="number" value="00070" />
|
|
746
|
+
<option name="presentableId" value="LOCAL-00070" />
|
|
747
|
+
<option name="project" value="LOCAL" />
|
|
748
|
+
<updated>1754469004113</updated>
|
|
749
|
+
</task>
|
|
750
|
+
<task id="LOCAL-00071" summary="Improve print strings">
|
|
751
|
+
<option name="closed" value="true" />
|
|
752
|
+
<created>1754470803396</created>
|
|
753
|
+
<option name="number" value="00071" />
|
|
754
|
+
<option name="presentableId" value="LOCAL-00071" />
|
|
755
|
+
<option name="project" value="LOCAL" />
|
|
756
|
+
<updated>1754470803397</updated>
|
|
757
|
+
</task>
|
|
758
|
+
<task id="LOCAL-00072" summary="1.5.5">
|
|
759
|
+
<option name="closed" value="true" />
|
|
760
|
+
<created>1754470830221</created>
|
|
761
|
+
<option name="number" value="00072" />
|
|
762
|
+
<option name="presentableId" value="LOCAL-00072" />
|
|
763
|
+
<option name="project" value="LOCAL" />
|
|
764
|
+
<updated>1754470830221</updated>
|
|
765
|
+
</task>
|
|
766
|
+
<task id="LOCAL-00073" summary="Formatting">
|
|
767
|
+
<option name="closed" value="true" />
|
|
768
|
+
<created>1754470937136</created>
|
|
769
|
+
<option name="number" value="00073" />
|
|
770
|
+
<option name="presentableId" value="LOCAL-00073" />
|
|
771
|
+
<option name="project" value="LOCAL" />
|
|
772
|
+
<updated>1754470937136</updated>
|
|
773
|
+
</task>
|
|
774
|
+
<task id="LOCAL-00074" summary="Rewrite documentation">
|
|
775
|
+
<option name="closed" value="true" />
|
|
776
|
+
<created>1754479289896</created>
|
|
777
|
+
<option name="number" value="00074" />
|
|
778
|
+
<option name="presentableId" value="LOCAL-00074" />
|
|
779
|
+
<option name="project" value="LOCAL" />
|
|
780
|
+
<updated>1754479289897</updated>
|
|
781
|
+
</task>
|
|
782
|
+
<task id="LOCAL-00075" summary="Rewrite documentation">
|
|
783
|
+
<option name="closed" value="true" />
|
|
784
|
+
<created>1754479296010</created>
|
|
785
|
+
<option name="number" value="00075" />
|
|
786
|
+
<option name="presentableId" value="LOCAL-00075" />
|
|
787
|
+
<option name="project" value="LOCAL" />
|
|
788
|
+
<updated>1754479296010</updated>
|
|
789
|
+
</task>
|
|
790
|
+
<task id="LOCAL-00076" summary="Reword">
|
|
791
|
+
<option name="closed" value="true" />
|
|
792
|
+
<created>1754479301950</created>
|
|
793
|
+
<option name="number" value="00076" />
|
|
794
|
+
<option name="presentableId" value="LOCAL-00076" />
|
|
795
|
+
<option name="project" value="LOCAL" />
|
|
796
|
+
<updated>1754479301950</updated>
|
|
797
|
+
</task>
|
|
798
|
+
<task id="LOCAL-00077" summary="Reformat main flow">
|
|
799
|
+
<option name="closed" value="true" />
|
|
800
|
+
<created>1754480508001</created>
|
|
801
|
+
<option name="number" value="00077" />
|
|
802
|
+
<option name="presentableId" value="LOCAL-00077" />
|
|
803
|
+
<option name="project" value="LOCAL" />
|
|
804
|
+
<updated>1754480508001</updated>
|
|
805
|
+
</task>
|
|
806
|
+
<task id="LOCAL-00078" summary="Update tests">
|
|
807
|
+
<option name="closed" value="true" />
|
|
808
|
+
<created>1754480809137</created>
|
|
809
|
+
<option name="number" value="00078" />
|
|
810
|
+
<option name="presentableId" value="LOCAL-00078" />
|
|
811
|
+
<option name="project" value="LOCAL" />
|
|
812
|
+
<updated>1754480809137</updated>
|
|
813
|
+
</task>
|
|
814
|
+
<task id="LOCAL-00079" summary="Add dynamic versioning">
|
|
815
|
+
<option name="closed" value="true" />
|
|
816
|
+
<created>1754483836165</created>
|
|
817
|
+
<option name="number" value="00079" />
|
|
818
|
+
<option name="presentableId" value="LOCAL-00079" />
|
|
819
|
+
<option name="project" value="LOCAL" />
|
|
820
|
+
<updated>1754483836165</updated>
|
|
821
|
+
</task>
|
|
822
|
+
<option name="localTasksCounter" value="80" />
|
|
777
823
|
<servers />
|
|
778
824
|
</component>
|
|
779
825
|
<component name="Vcs.Log.Tabs.Properties">
|
|
@@ -800,23 +846,6 @@
|
|
|
800
846
|
</option>
|
|
801
847
|
</component>
|
|
802
848
|
<component name="VcsManagerConfiguration">
|
|
803
|
-
<MESSAGE value="Update documentation on the change" />
|
|
804
|
-
<MESSAGE value="Reorganised project Split methods from util.py into proton.py Various fixes Formatting" />
|
|
805
|
-
<MESSAGE value="Add project files" />
|
|
806
|
-
<MESSAGE value="Implement some tests" />
|
|
807
|
-
<MESSAGE value="Fix documentation" />
|
|
808
|
-
<MESSAGE value="Add messages for some tests" />
|
|
809
|
-
<MESSAGE value="Preparations for building" />
|
|
810
|
-
<MESSAGE value="Break off configuration" />
|
|
811
|
-
<MESSAGE value="Rework DB" />
|
|
812
|
-
<MESSAGE value="Create convenience classes" />
|
|
813
|
-
<MESSAGE value="Cleanup return codes and config/db handling" />
|
|
814
|
-
<MESSAGE value="Improvements to proton handling methods" />
|
|
815
|
-
<MESSAGE value="Use tomli-w Improvements to umu config creation" />
|
|
816
|
-
<MESSAGE value="Cleanup" />
|
|
817
|
-
<MESSAGE value="Tests" />
|
|
818
|
-
<MESSAGE value="Formatting" />
|
|
819
|
-
<MESSAGE value="1.5.1" />
|
|
820
849
|
<MESSAGE value="Improve config handling" />
|
|
821
850
|
<MESSAGE value="Update documentation" />
|
|
822
851
|
<MESSAGE value="1.5.2" />
|
|
@@ -825,6 +854,23 @@
|
|
|
825
854
|
<MESSAGE value="Fix error code returning" />
|
|
826
855
|
<MESSAGE value="Update documentation." />
|
|
827
856
|
<MESSAGE value="1.5.4" />
|
|
828
|
-
<
|
|
857
|
+
<MESSAGE value="Reformatting Add another tag" />
|
|
858
|
+
<MESSAGE value="Reformat configuration module" />
|
|
859
|
+
<MESSAGE value="Check for umu-config existence" />
|
|
860
|
+
<MESSAGE value="formatting" />
|
|
861
|
+
<MESSAGE value="Misc fixes in configuration module" />
|
|
862
|
+
<MESSAGE value="Fix import error" />
|
|
863
|
+
<MESSAGE value="Misc fixes in configuration module" />
|
|
864
|
+
<MESSAGE value="Fix import error" />
|
|
865
|
+
<MESSAGE value="Change DB structure" />
|
|
866
|
+
<MESSAGE value="Improve print strings" />
|
|
867
|
+
<MESSAGE value="1.5.5" />
|
|
868
|
+
<MESSAGE value="Formatting" />
|
|
869
|
+
<MESSAGE value="Rewrite documentation" />
|
|
870
|
+
<MESSAGE value="Reword" />
|
|
871
|
+
<MESSAGE value="Reformat main flow" />
|
|
872
|
+
<MESSAGE value="Update tests" />
|
|
873
|
+
<MESSAGE value="Add dynamic versioning" />
|
|
874
|
+
<option name="LAST_COMMIT_MESSAGE" value="Add dynamic versioning" />
|
|
829
875
|
</component>
|
|
830
876
|
</project>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: umu-commander
|
|
3
|
+
Version: 1.5.6
|
|
4
|
+
Summary: umu-commander is an interactive CLI tool to help you manage umu.
|
|
5
|
+
Project-URL: Homepage, https://github.com/Mpaxlamitsounas/umu-commander
|
|
6
|
+
Project-URL: Issues, https://github.com/Mpaxlamitsounas/umu-commander/issues
|
|
7
|
+
Author-email: Mpaxlamitsounas <worldstudy123@gmail.com>
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE.txt
|
|
10
|
+
Keywords: umu,umu-launcher
|
|
11
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Requires-Python: >=3.12
|
|
14
|
+
Requires-Dist: tomli-w
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
17
|
+
## umu-commander
|
|
18
|
+
### umu-commander is an interactive CLI tool to augment umu-launcher as well as help you manage its Proton versions.
|
|
19
|
+
|
|
20
|
+
Proton versions can track and untrack directories, with the intention of safely removing them once no game depends on one.
|
|
21
|
+
|
|
22
|
+
Vanilla umu config files currently (06/2025) do not support setting environmental variables. This tool adds such functionality with an extra TOML table within said configs, see `example_config.toml` for an example.
|
|
23
|
+
|
|
24
|
+
### Config
|
|
25
|
+
The configuration file lives at `~/.config/umu-commander.toml`, which cannot be changed as of now. You can generate one by running the app by itself.
|
|
26
|
+
|
|
27
|
+
The config schema is as follows:
|
|
28
|
+
|
|
29
|
+
| Name | Description |
|
|
30
|
+
|:--------------------------|:-------------------------------------------------------------------|
|
|
31
|
+
| `PROTON_PATHS` | List of directories umu-commander will search for Proton versions. |
|
|
32
|
+
| `UMU_PROTON_PATH` | Directory where umu-launcher downloads its UMU-Proton versions. |
|
|
33
|
+
| `DB_NAME` | Tracking DB filename. |
|
|
34
|
+
| `DB_DIR` | Directory where the Tracking DB is stored. |
|
|
35
|
+
| `UMU_CONFIG_NAME` | Name of the umu config created using umu-commander create. |
|
|
36
|
+
| `DEFAULT_PREFIX_DIR` | Directory where umu-commander will search for WINE prefixes. |
|
|
37
|
+
| `[DLL_OVERRIDES_OPTIONS]` | TOML table where all possible DLL overrides are listed. |
|
|
38
|
+
|
|
39
|
+
To add an extra DLL override option, add a line below the table in the form "`Label`" = "`WINE override string`". Use the winhttp example as a template.
|
|
40
|
+
|
|
41
|
+
### Verbs
|
|
42
|
+
umu-commander needs one of the following verbs specified after the executable name:
|
|
43
|
+
|
|
44
|
+
| Name | Description |
|
|
45
|
+
|:--------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
46
|
+
| track | Tracks current directory with the selected Proton version.<br/>Also removes it from any other tracking lists. |
|
|
47
|
+
| untrack | Removes the current directory from all tracking lists. |
|
|
48
|
+
| users | Lists which directories the selected Proton version is tracking. |
|
|
49
|
+
| delete | Interactively deletes Proton versions that are currently tracking nothing.<br/>Will not remove the latest UMU-Proton and Proton versions that haven't been used for tracking before.<br/>umu-commander will never delete anything without invoking this verb and confirming. |
|
|
50
|
+
| create | Creates an augmented umu config in the current directory.<br/>These configs are compatible with vanilla umu-launcher, although the DLL override functionality won't work. |
|
|
51
|
+
| run | Runs a program using the umu config in the current directory. |
|
|
52
|
+
|
|
53
|
+
### Installation/Usage
|
|
54
|
+
Add umu-run to your PATH and then install with pipx by running `pipx install umu-commander`. After that you can use umu-commander by running `umu-commander <verb>`.
|
|
55
|
+
|
|
56
|
+
### Return codes
|
|
57
|
+
| Number | Name | Description |
|
|
58
|
+
|:-------|:------------------|:----------------------------------------------------------------|
|
|
59
|
+
| 0 | SUCCESS | Program executed as intended. |
|
|
60
|
+
| 1 | DECODING_ERROR | Failed to parse a file. |
|
|
61
|
+
| 2 | INVALID_SELECTION | User selected an invalid verb or there are no valid selections. |
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
## umu-commander
|
|
2
|
+
### umu-commander is an interactive CLI tool to augment umu-launcher as well as help you manage its Proton versions.
|
|
3
|
+
|
|
4
|
+
Proton versions can track and untrack directories, with the intention of safely removing them once no game depends on one.
|
|
5
|
+
|
|
6
|
+
Vanilla umu config files currently (06/2025) do not support setting environmental variables. This tool adds such functionality with an extra TOML table within said configs, see `example_config.toml` for an example.
|
|
7
|
+
|
|
8
|
+
### Config
|
|
9
|
+
The configuration file lives at `~/.config/umu-commander.toml`, which cannot be changed as of now. You can generate one by running the app by itself.
|
|
10
|
+
|
|
11
|
+
The config schema is as follows:
|
|
12
|
+
|
|
13
|
+
| Name | Description |
|
|
14
|
+
|:--------------------------|:-------------------------------------------------------------------|
|
|
15
|
+
| `PROTON_PATHS` | List of directories umu-commander will search for Proton versions. |
|
|
16
|
+
| `UMU_PROTON_PATH` | Directory where umu-launcher downloads its UMU-Proton versions. |
|
|
17
|
+
| `DB_NAME` | Tracking DB filename. |
|
|
18
|
+
| `DB_DIR` | Directory where the Tracking DB is stored. |
|
|
19
|
+
| `UMU_CONFIG_NAME` | Name of the umu config created using umu-commander create. |
|
|
20
|
+
| `DEFAULT_PREFIX_DIR` | Directory where umu-commander will search for WINE prefixes. |
|
|
21
|
+
| `[DLL_OVERRIDES_OPTIONS]` | TOML table where all possible DLL overrides are listed. |
|
|
22
|
+
|
|
23
|
+
To add an extra DLL override option, add a line below the table in the form "`Label`" = "`WINE override string`". Use the winhttp example as a template.
|
|
24
|
+
|
|
25
|
+
### Verbs
|
|
26
|
+
umu-commander needs one of the following verbs specified after the executable name:
|
|
27
|
+
|
|
28
|
+
| Name | Description |
|
|
29
|
+
|:--------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
30
|
+
| track | Tracks current directory with the selected Proton version.<br/>Also removes it from any other tracking lists. |
|
|
31
|
+
| untrack | Removes the current directory from all tracking lists. |
|
|
32
|
+
| users | Lists which directories the selected Proton version is tracking. |
|
|
33
|
+
| delete | Interactively deletes Proton versions that are currently tracking nothing.<br/>Will not remove the latest UMU-Proton and Proton versions that haven't been used for tracking before.<br/>umu-commander will never delete anything without invoking this verb and confirming. |
|
|
34
|
+
| create | Creates an augmented umu config in the current directory.<br/>These configs are compatible with vanilla umu-launcher, although the DLL override functionality won't work. |
|
|
35
|
+
| run | Runs a program using the umu config in the current directory. |
|
|
36
|
+
|
|
37
|
+
### Installation/Usage
|
|
38
|
+
Add umu-run to your PATH and then install with pipx by running `pipx install umu-commander`. After that you can use umu-commander by running `umu-commander <verb>`.
|
|
39
|
+
|
|
40
|
+
### Return codes
|
|
41
|
+
| Number | Name | Description |
|
|
42
|
+
|:-------|:------------------|:----------------------------------------------------------------|
|
|
43
|
+
| 0 | SUCCESS | Program executed as intended. |
|
|
44
|
+
| 1 | DECODING_ERROR | Failed to parse a file. |
|
|
45
|
+
| 2 | INVALID_SELECTION | User selected an invalid verb or there are no valid selections. |
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "umu-commander"
|
|
7
|
-
|
|
7
|
+
dynamic = ["version"]
|
|
8
8
|
authors = [
|
|
9
9
|
{ name = "Mpaxlamitsounas", email = "worldstudy123@gmail.com" },
|
|
10
10
|
]
|
|
@@ -26,9 +26,12 @@ keywords = [
|
|
|
26
26
|
"umu-launcher"
|
|
27
27
|
]
|
|
28
28
|
|
|
29
|
+
[tool.hatch.version]
|
|
30
|
+
path = "src/umu_commander/__init__.py"
|
|
31
|
+
|
|
29
32
|
[project.urls]
|
|
30
33
|
Homepage = "https://github.com/Mpaxlamitsounas/umu-commander"
|
|
31
34
|
Issues = "https://github.com/Mpaxlamitsounas/umu-commander/issues"
|
|
32
35
|
|
|
33
36
|
[project.scripts]
|
|
34
|
-
umu-commander = "umu_commander.
|
|
37
|
+
umu-commander = "umu_commander.__main__:main"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = "v1.5.6"
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
from json import JSONDecodeError
|
|
5
|
+
|
|
6
|
+
from umu_commander import configuration as config
|
|
7
|
+
from umu_commander import database as db
|
|
8
|
+
from umu_commander import tracking, umu_config
|
|
9
|
+
from umu_commander.classes import ExitCode
|
|
10
|
+
from umu_commander.configuration import CONFIG_DIR, CONFIG_NAME
|
|
11
|
+
from umu_commander.util import print_help
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def main() -> ExitCode:
|
|
15
|
+
try:
|
|
16
|
+
config.load()
|
|
17
|
+
except (JSONDecodeError, KeyError):
|
|
18
|
+
config_path: str = os.path.join(CONFIG_DIR, CONFIG_NAME)
|
|
19
|
+
old_config_path: str = os.path.join(CONFIG_DIR, CONFIG_NAME + ".old")
|
|
20
|
+
|
|
21
|
+
print(f"Config file at {config_path} could not be read.")
|
|
22
|
+
|
|
23
|
+
if not os.path.exists(old_config_path):
|
|
24
|
+
print(f"Config file renamed to {old_config_path}.")
|
|
25
|
+
os.rename(config_path, old_config_path)
|
|
26
|
+
|
|
27
|
+
except FileNotFoundError:
|
|
28
|
+
config.dump()
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
db.load()
|
|
32
|
+
except JSONDecodeError:
|
|
33
|
+
db_path: str = os.path.join(config.DB_DIR, config.DB_NAME)
|
|
34
|
+
old_db_path: str = os.path.join(config.DB_DIR, config.DB_NAME + ".old")
|
|
35
|
+
|
|
36
|
+
print(f"Tracking file at {db_path} could not be read.")
|
|
37
|
+
|
|
38
|
+
if not os.path.exists(old_db_path):
|
|
39
|
+
print(f"DB file renamed to {old_db_path}.")
|
|
40
|
+
os.rename(db_path, old_db_path)
|
|
41
|
+
|
|
42
|
+
except FileNotFoundError:
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
dispatch: dict[str, Callable] = {
|
|
46
|
+
"track": tracking.track,
|
|
47
|
+
"untrack": tracking.untrack,
|
|
48
|
+
"users": tracking.users,
|
|
49
|
+
"delete": tracking.delete,
|
|
50
|
+
"create": umu_config.create,
|
|
51
|
+
"run": umu_config.run,
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if len(sys.argv) == 1:
|
|
55
|
+
print_help()
|
|
56
|
+
return ExitCode.SUCCESS.value
|
|
57
|
+
elif sys.argv[1] not in dispatch:
|
|
58
|
+
print("Invalid verb.")
|
|
59
|
+
print_help()
|
|
60
|
+
return ExitCode.INVALID_SELECTION.value
|
|
61
|
+
|
|
62
|
+
dispatch[sys.argv[1]]()
|
|
63
|
+
|
|
64
|
+
tracking.untrack_unlinked()
|
|
65
|
+
db.dump()
|
|
66
|
+
|
|
67
|
+
return ExitCode.SUCCESS.value
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
if __name__ == "__main__":
|
|
71
|
+
exit(main())
|
|
@@ -29,11 +29,7 @@ DLL_OVERRIDES_OPTIONS: tuple[DLLOverride, ...] = (
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
def load():
|
|
32
|
-
|
|
33
|
-
if not os.path.exists(config_path):
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
with open(config_path, "rb") as conf_file:
|
|
32
|
+
with open(os.path.join(CONFIG_DIR, CONFIG_NAME), "rb") as conf_file:
|
|
37
33
|
toml_conf = tomllib.load(conf_file)
|
|
38
34
|
if "DLL_OVERRIDES_OPTIONS" in toml_conf:
|
|
39
35
|
toml_conf["DLL_OVERRIDES_OPTIONS"] = tuple(
|
|
@@ -15,11 +15,9 @@ def load():
|
|
|
15
15
|
if not os.path.exists(config.DB_DIR):
|
|
16
16
|
os.mkdir(config.DB_DIR)
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
with open(os.path.join(db_path), "rt") as db_file:
|
|
18
|
+
with open(
|
|
19
|
+
os.path.join(os.path.join(config.DB_DIR, config.DB_NAME)), "rt"
|
|
20
|
+
) as db_file:
|
|
23
21
|
_db.update(json.load(db_file))
|
|
24
22
|
|
|
25
23
|
|
|
@@ -25,9 +25,9 @@ def refresh_proton_versions():
|
|
|
25
25
|
if "PROTONPATH" in line and "/" in line:
|
|
26
26
|
try:
|
|
27
27
|
left: int = line.rfind("/") + 1
|
|
28
|
-
print(f":Latest
|
|
28
|
+
print(f":Latest UMU-Proton: {line[left:len(line) - 1]}.")
|
|
29
29
|
except ValueError:
|
|
30
|
-
print("Could not fetch latest
|
|
30
|
+
print("Could not fetch latest UMU-Proton.")
|
|
31
31
|
|
|
32
32
|
break
|
|
33
33
|
|
|
@@ -57,10 +57,15 @@ def users():
|
|
|
57
57
|
if proton_ver.dir in db.get() and proton_ver.version_num in db.get(proton_ver.dir):
|
|
58
58
|
version_users: list[str] = db.get(proton_ver.dir, proton_ver.version_num)
|
|
59
59
|
if len(version_users) > 0:
|
|
60
|
-
print(
|
|
61
|
-
|
|
60
|
+
print(
|
|
61
|
+
f"Directories tracked by {proton_ver.version_num} of {proton_ver.dir}:",
|
|
62
|
+
*version_users,
|
|
63
|
+
sep="\n\t",
|
|
64
|
+
)
|
|
65
|
+
|
|
62
66
|
else:
|
|
63
67
|
print("This version is tracking no directories.")
|
|
68
|
+
|
|
64
69
|
else:
|
|
65
70
|
print("This version hasn't been used by umu before.")
|
|
66
71
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from umu_commander import VERSION
|
|
1
2
|
from umu_commander.classes import Element, ExitCode, Group, Value
|
|
2
3
|
|
|
3
4
|
|
|
@@ -91,3 +92,13 @@ def get_selection(
|
|
|
91
92
|
return _translate_index_to_selection(
|
|
92
93
|
selection_index, selection_elements, selection_groups
|
|
93
94
|
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def print_help():
|
|
98
|
+
print(
|
|
99
|
+
f"umu-commander {VERSION}",
|
|
100
|
+
"Interactive CLI tool to augment umu-launcher as well as help you manage its Proton versions.",
|
|
101
|
+
"",
|
|
102
|
+
"For details, usage, and more, see the README.md file, or visit https://github.com/Mpaxlamitsounas/umu-commander.",
|
|
103
|
+
sep="\n",
|
|
104
|
+
)
|
|
@@ -16,7 +16,11 @@ class Database(unittest.TestCase):
|
|
|
16
16
|
teardown()
|
|
17
17
|
|
|
18
18
|
def test_missing_db(self):
|
|
19
|
-
|
|
19
|
+
try:
|
|
20
|
+
db.load()
|
|
21
|
+
except FileNotFoundError:
|
|
22
|
+
pass
|
|
23
|
+
|
|
20
24
|
self.assertEqual(db.get().keys(), {}.keys())
|
|
21
25
|
|
|
22
26
|
def test_malformed_db(self):
|
|
@@ -27,7 +31,6 @@ class Database(unittest.TestCase):
|
|
|
27
31
|
db.load()
|
|
28
32
|
|
|
29
33
|
def test_addition_removal(self):
|
|
30
|
-
db.load()
|
|
31
34
|
db.get(PROTON_DIR_1, PROTON_BIG).append(USER_DIR)
|
|
32
35
|
|
|
33
36
|
self.assertIn(PROTON_BIG, db.get(PROTON_DIR_1))
|
umu_commander-1.5.5/PKG-INFO
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: umu-commander
|
|
3
|
-
Version: 1.5.5
|
|
4
|
-
Summary: umu-commander is an interactive CLI tool to help you manage umu.
|
|
5
|
-
Project-URL: Homepage, https://github.com/Mpaxlamitsounas/umu-commander
|
|
6
|
-
Project-URL: Issues, https://github.com/Mpaxlamitsounas/umu-commander/issues
|
|
7
|
-
Author-email: Mpaxlamitsounas <worldstudy123@gmail.com>
|
|
8
|
-
License-Expression: MIT
|
|
9
|
-
License-File: LICENSE.txt
|
|
10
|
-
Keywords: umu,umu-launcher
|
|
11
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
12
|
-
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Requires-Python: >=3.12
|
|
14
|
-
Requires-Dist: tomli-w
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
|
|
17
|
-
## umu-commander
|
|
18
|
-
### umu-commander is an interactive CLI tool to help you manage Proton versions used by umu, as well as create enhanced launch configs.
|
|
19
|
-
|
|
20
|
-
Proton versions can be tracked and untracked, with the intention of being safely removable once no game depends on a specific one.\
|
|
21
|
-
What directories each Proton version is being used by is tracked within `tracking.json` inside your umu Proton directory by default.
|
|
22
|
-
|
|
23
|
-
Vanilla umu configuration files currently do not support setting environmental variables, this tool adds such functionality by adding an extra TOML table in the umu config itself. An example config is available under the name `example_config.toml`.
|
|
24
|
-
|
|
25
|
-
### Config
|
|
26
|
-
The configuration file lives at `~/.config/umu-commander.toml`. Within it, you can edit the following:
|
|
27
|
-
* PROTON_PATHS: List of directories umu-commander will search for Proton versions.
|
|
28
|
-
* UMU_PROTON_PATH: Directory where umu itself downloads its umu Proton versions.
|
|
29
|
-
* DB_NAME: Tracking DB filename.
|
|
30
|
-
* DB_DIR: Directory where the Tracking DB is stored.
|
|
31
|
-
* UMU_CONFIG_NAME: Name of the umu config created using umu-commander run.
|
|
32
|
-
* DEFAULT_PREFIX_DIR: Directory where WINE prefixes are scanned.
|
|
33
|
-
* [DLL_OVERRIDES_OPTIONS]: Category to list possible DLL overrides in "Label" = "Override string" format.
|
|
34
|
-
|
|
35
|
-
### Verbs
|
|
36
|
-
umu-commander needs one of the following verbs specified after the executable name:
|
|
37
|
-
* track: Adds the current directory to a specified Proton version's list of users.
|
|
38
|
-
* If the directory is already in another list, it will be removed from it.
|
|
39
|
-
* The create verb will automatically track the current directory.
|
|
40
|
-
* This will not update any existing configs.
|
|
41
|
-
* untrack: Removes the current directory from all tracking lists.
|
|
42
|
-
* users: Lists each Proton version's users.
|
|
43
|
-
* delete: Interactively deletes any Proton version in the tracking database with no users.
|
|
44
|
-
* This will actually remove the Proton directories, use at your own risk.
|
|
45
|
-
* If a Proton version has not been tracked before, it will not be removed, neither will the latest umu Proton.
|
|
46
|
-
* umu-commander will not delete anything without invoking this verb and receiving confirmation.
|
|
47
|
-
* create: Creates a custom configuration file in the current directory.
|
|
48
|
-
* run: Uses the config in the current directory to run the program.
|
|
49
|
-
* This is NOT equivalent to `umu-run --config <config_name>`, as vanilla umu configs do not support setting environment variables as of 07/2025.
|
|
50
|
-
|
|
51
|
-
### Installation/Usage
|
|
52
|
-
Add umu-run to your PATH and then install with pipx by running `pipx install umu-commander`. After that you can invoke umu-commander by running `umu-commander <verb>`.
|
|
53
|
-
|
|
54
|
-
### Return codes
|
|
55
|
-
| Number | Name | Description |
|
|
56
|
-
|:-------|:------------------|:----------------------------------------------------------------|
|
|
57
|
-
| 0 | SUCCESS | Program executed as intended. |
|
|
58
|
-
| 1 | READING_ERROR | Failed to parse a file and could not recover. |
|
|
59
|
-
| 2 | INVALID_SELECTION | User selected an invalid verb or there are no valid selections. |
|
umu_commander-1.5.5/README.md
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
## umu-commander
|
|
2
|
-
### umu-commander is an interactive CLI tool to help you manage Proton versions used by umu, as well as create enhanced launch configs.
|
|
3
|
-
|
|
4
|
-
Proton versions can be tracked and untracked, with the intention of being safely removable once no game depends on a specific one.\
|
|
5
|
-
What directories each Proton version is being used by is tracked within `tracking.json` inside your umu Proton directory by default.
|
|
6
|
-
|
|
7
|
-
Vanilla umu configuration files currently do not support setting environmental variables, this tool adds such functionality by adding an extra TOML table in the umu config itself. An example config is available under the name `example_config.toml`.
|
|
8
|
-
|
|
9
|
-
### Config
|
|
10
|
-
The configuration file lives at `~/.config/umu-commander.toml`. Within it, you can edit the following:
|
|
11
|
-
* PROTON_PATHS: List of directories umu-commander will search for Proton versions.
|
|
12
|
-
* UMU_PROTON_PATH: Directory where umu itself downloads its umu Proton versions.
|
|
13
|
-
* DB_NAME: Tracking DB filename.
|
|
14
|
-
* DB_DIR: Directory where the Tracking DB is stored.
|
|
15
|
-
* UMU_CONFIG_NAME: Name of the umu config created using umu-commander run.
|
|
16
|
-
* DEFAULT_PREFIX_DIR: Directory where WINE prefixes are scanned.
|
|
17
|
-
* [DLL_OVERRIDES_OPTIONS]: Category to list possible DLL overrides in "Label" = "Override string" format.
|
|
18
|
-
|
|
19
|
-
### Verbs
|
|
20
|
-
umu-commander needs one of the following verbs specified after the executable name:
|
|
21
|
-
* track: Adds the current directory to a specified Proton version's list of users.
|
|
22
|
-
* If the directory is already in another list, it will be removed from it.
|
|
23
|
-
* The create verb will automatically track the current directory.
|
|
24
|
-
* This will not update any existing configs.
|
|
25
|
-
* untrack: Removes the current directory from all tracking lists.
|
|
26
|
-
* users: Lists each Proton version's users.
|
|
27
|
-
* delete: Interactively deletes any Proton version in the tracking database with no users.
|
|
28
|
-
* This will actually remove the Proton directories, use at your own risk.
|
|
29
|
-
* If a Proton version has not been tracked before, it will not be removed, neither will the latest umu Proton.
|
|
30
|
-
* umu-commander will not delete anything without invoking this verb and receiving confirmation.
|
|
31
|
-
* create: Creates a custom configuration file in the current directory.
|
|
32
|
-
* run: Uses the config in the current directory to run the program.
|
|
33
|
-
* This is NOT equivalent to `umu-run --config <config_name>`, as vanilla umu configs do not support setting environment variables as of 07/2025.
|
|
34
|
-
|
|
35
|
-
### Installation/Usage
|
|
36
|
-
Add umu-run to your PATH and then install with pipx by running `pipx install umu-commander`. After that you can invoke umu-commander by running `umu-commander <verb>`.
|
|
37
|
-
|
|
38
|
-
### Return codes
|
|
39
|
-
| Number | Name | Description |
|
|
40
|
-
|:-------|:------------------|:----------------------------------------------------------------|
|
|
41
|
-
| 0 | SUCCESS | Program executed as intended. |
|
|
42
|
-
| 1 | READING_ERROR | Failed to parse a file and could not recover. |
|
|
43
|
-
| 2 | INVALID_SELECTION | User selected an invalid verb or there are no valid selections. |
|
|
File without changes
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/python3
|
|
2
|
-
import os
|
|
3
|
-
import sys
|
|
4
|
-
from json import JSONDecodeError
|
|
5
|
-
|
|
6
|
-
import umu_commander.configuration as config
|
|
7
|
-
import umu_commander.database as db
|
|
8
|
-
from umu_commander import tracking, umu_config
|
|
9
|
-
from umu_commander.classes import ExitCode
|
|
10
|
-
from umu_commander.configuration import CONFIG_DIR, CONFIG_NAME
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def print_help():
|
|
14
|
-
print(
|
|
15
|
-
"umu-commander is an interactive CLI tool to help you manage Proton versions used by umu, as well as create enhanced launch configs.",
|
|
16
|
-
"",
|
|
17
|
-
"For details, explanations, and more, see the README.md file, or visit https://github.com/Mpaxlamitsounas/umu-commander.",
|
|
18
|
-
sep="\n",
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def main() -> ExitCode:
|
|
23
|
-
try:
|
|
24
|
-
config.load()
|
|
25
|
-
except (JSONDecodeError, KeyError):
|
|
26
|
-
config_path: str = os.path.join(CONFIG_DIR, CONFIG_NAME)
|
|
27
|
-
print(f"Config file at {config_path} could not be read.")
|
|
28
|
-
os.rename(config_path, os.path.join(CONFIG_DIR, CONFIG_NAME + ".old"))
|
|
29
|
-
|
|
30
|
-
try:
|
|
31
|
-
db.load()
|
|
32
|
-
except JSONDecodeError:
|
|
33
|
-
db_path: str = os.path.join(config.DB_DIR, config.DB_NAME)
|
|
34
|
-
print(f"Tracking file at {db_path} could not be read.")
|
|
35
|
-
os.rename(db_path, os.path.join(config.DB_DIR, config.DB_NAME + ".old"))
|
|
36
|
-
|
|
37
|
-
if len(sys.argv) == 1:
|
|
38
|
-
print_help()
|
|
39
|
-
return ExitCode.SUCCESS.value
|
|
40
|
-
|
|
41
|
-
verb: str = sys.argv[1]
|
|
42
|
-
match verb:
|
|
43
|
-
case "track":
|
|
44
|
-
tracking.track()
|
|
45
|
-
case "untrack":
|
|
46
|
-
tracking.untrack()
|
|
47
|
-
case "users":
|
|
48
|
-
tracking.users()
|
|
49
|
-
case "delete":
|
|
50
|
-
tracking.delete()
|
|
51
|
-
case "create":
|
|
52
|
-
umu_config.create()
|
|
53
|
-
case "run":
|
|
54
|
-
umu_config.run()
|
|
55
|
-
case _:
|
|
56
|
-
print("Invalid verb.")
|
|
57
|
-
print_help()
|
|
58
|
-
return ExitCode.INVALID_SELECTION.value
|
|
59
|
-
|
|
60
|
-
tracking.untrack_unlinked()
|
|
61
|
-
db.dump()
|
|
62
|
-
config.dump()
|
|
63
|
-
|
|
64
|
-
return ExitCode.SUCCESS.value
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if __name__ == "__main__":
|
|
68
|
-
exit(main())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|