skilleter-thingy 0.0.78__tar.gz → 0.0.80__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 skilleter-thingy might be problematic. Click here for more details.

Files changed (74) hide show
  1. {skilleter_thingy-0.0.78/skilleter_thingy.egg-info → skilleter_thingy-0.0.80}/PKG-INFO +23 -23
  2. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/README.md +22 -22
  3. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/pyproject.toml +2 -2
  4. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_review.py +20 -6
  5. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/multigit.py +267 -110
  6. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/git2.py +20 -9
  7. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/xchmod.py +4 -5
  8. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80/skilleter_thingy.egg-info}/PKG-INFO +23 -23
  9. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy.egg-info/entry_points.txt +1 -1
  10. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/LICENSE +0 -0
  11. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/setup.cfg +0 -0
  12. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/__init__.py +0 -0
  13. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/addpath.py +0 -0
  14. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/borger.py +0 -0
  15. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/box.py +0 -0
  16. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/console_colours.py +0 -0
  17. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/diskspacecheck.py +0 -0
  18. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/docker_purge.py +0 -0
  19. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/ffind.py +0 -0
  20. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/ggit.py +0 -0
  21. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/ggrep.py +0 -0
  22. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_br.py +0 -0
  23. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_ca.py +0 -0
  24. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_cleanup.py +0 -0
  25. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_co.py +0 -0
  26. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_common.py +0 -0
  27. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_hold.py +0 -0
  28. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_mr.py +0 -0
  29. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_parent.py +0 -0
  30. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_update.py +0 -0
  31. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/git_wt.py +0 -0
  32. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/gitcmp_helper.py +0 -0
  33. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/gitprompt.py +0 -0
  34. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/gl.py +0 -0
  35. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/gphotosync.py +0 -0
  36. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/linecount.py +0 -0
  37. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/moviemover.py +0 -0
  38. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/photodupe.py +0 -0
  39. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/phototidier.py +0 -0
  40. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/py_audit.py +0 -0
  41. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/readable.py +0 -0
  42. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/remdir.py +0 -0
  43. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/rmdupe.py +0 -0
  44. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/rpylint.py +0 -0
  45. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/splitpics.py +0 -0
  46. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/strreplace.py +0 -0
  47. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/sysmon.py +0 -0
  48. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/tfm.py +0 -0
  49. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/tfparse.py +0 -0
  50. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/__init__.py +0 -0
  51. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/colour.py +0 -0
  52. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/dc_curses.py +0 -0
  53. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/dc_defaults.py +0 -0
  54. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/dc_util.py +0 -0
  55. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/dircolors.py +0 -0
  56. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/docker.py +0 -0
  57. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/files.py +0 -0
  58. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/git.py +0 -0
  59. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/gitlab.py +0 -0
  60. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/path.py +0 -0
  61. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/popup.py +0 -0
  62. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/process.py +0 -0
  63. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/run.py +0 -0
  64. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/tfm_pane.py +0 -0
  65. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/tidy.py +0 -0
  66. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/thingy/venv_template.py +0 -0
  67. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/trimpath.py +0 -0
  68. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/venv_create.py +0 -0
  69. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/window_rename.py +0 -0
  70. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy/yamlcheck.py +0 -0
  71. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy.egg-info/SOURCES.txt +0 -0
  72. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy.egg-info/dependency_links.txt +0 -0
  73. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy.egg-info/requires.txt +0 -0
  74. {skilleter_thingy-0.0.78 → skilleter_thingy-0.0.80}/skilleter_thingy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: skilleter_thingy
3
- Version: 0.0.78
3
+ Version: 0.0.80
4
4
  Summary: A collection of useful utilities, mainly aimed at making Git more friendly
5
5
  Author-email: John Skilleter <john@skilleter.org.uk>
6
6
  Project-URL: Home, https://skilleter.org.uk
@@ -37,11 +37,11 @@ This README just contains a summary of the functionality of each command.
37
37
 
38
38
  ## ggit
39
39
 
40
- Run a git command in all repos under the current directory
40
+ Run a git command in all working trees under the current directory (note that this is not related to multigit (see below)).
41
41
 
42
42
  ## ggrep
43
43
 
44
- Run 'git grep' in all repos under the current directory
44
+ Run 'git grep' in all repos under the current directory (note that this is not related to multigit (see below)).
45
45
 
46
46
  ## gitprompt
47
47
 
@@ -53,15 +53,11 @@ Improved version of 'git commit --amend'. Updates files that are already in the
53
53
 
54
54
  ## git cleanup
55
55
 
56
- List or delete branches that have already been merged and delete tracking branches that are no longer on ther remote.
56
+ List or delete branches that have already been merged and delete tracking branches that are no longer on the remote.
57
57
 
58
58
  ## git co
59
59
 
60
- Equivalent to 'git checkout' but with intelligent branch matching
61
-
62
- ## git mr
63
-
64
- Push a feature branch to GitLab and create a merge request
60
+ Equivalent to 'git checkout' but with intelligent branch matching, so specifying a partial branch name will work if it uniquely matches an existing branch
65
61
 
66
62
  ## git parent
67
63
 
@@ -83,21 +79,21 @@ Console-based git change review tool.
83
79
 
84
80
  Manage a collection of related git repoitories.
85
81
 
86
- # General Commands
82
+ ## GitLab Commands
87
83
 
88
- ## addpath
84
+ ### git mr
89
85
 
90
- Update a $PATH-type variable by adding or removing entries.
86
+ Push a feature branch to GitLab and create a merge request
91
87
 
92
- ## console-colours
88
+ ### gl
93
89
 
94
- Display all available colours in the console.
90
+ Command line for GitLab
95
91
 
96
- ## diskspacecheck
92
+ # General Commands
97
93
 
98
- Check how much free space is available on all filesystems, ignoring read-only filesystems, /dev and tmpfs.
94
+ ## addpath
99
95
 
100
- Issue a warning if any are above 90% used.
96
+ Update a $PATH-type variable by adding or removing entries.
101
97
 
102
98
  ## docker-purge
103
99
 
@@ -143,7 +139,7 @@ Simple search and replace utility for those times when trying to escape characte
143
139
 
144
140
  ## tfm
145
141
 
146
- Console-based file-manager, similar to Midnight Commander but better.
142
+ Console-based file-manager, similar to Midnight Commander but aiming to be better.
147
143
 
148
144
  ## tfparse
149
145
 
@@ -161,9 +157,7 @@ Create a script to create/update a virtual environment and run a python script i
161
157
 
162
158
  ## xchmod
163
159
 
164
- WIP: Command to run chmod only on files that need it (only modifies files that don't have the required permissions already).
165
-
166
- Currently implements a *very* restricted set of functionality.
160
+ Command to run chmod only on files that need it (only modifies files that don't have the required permissions already).
167
161
 
168
162
  ## yamlcheck
169
163
 
@@ -177,9 +171,15 @@ These will be moved to the skilleter-extras package in due course.
177
171
 
178
172
  Wrapper for the borg backup utility to make it easier to use with a fixed set of options.
179
173
 
180
- ## gl
174
+ ## consolecolours
181
175
 
182
- Command line for GitLab
176
+ Display all available colours in the console.
177
+
178
+ ## diskspacecheck
179
+
180
+ Check how much free space is available on all filesystems, ignoring read-only filesystems, /dev and tmpfs.
181
+
182
+ Issue a warning if any are above 90% used.
183
183
 
184
184
  ## gphotosync
185
185
 
@@ -16,11 +16,11 @@ This README just contains a summary of the functionality of each command.
16
16
 
17
17
  ## ggit
18
18
 
19
- Run a git command in all repos under the current directory
19
+ Run a git command in all working trees under the current directory (note that this is not related to multigit (see below)).
20
20
 
21
21
  ## ggrep
22
22
 
23
- Run 'git grep' in all repos under the current directory
23
+ Run 'git grep' in all repos under the current directory (note that this is not related to multigit (see below)).
24
24
 
25
25
  ## gitprompt
26
26
 
@@ -32,15 +32,11 @@ Improved version of 'git commit --amend'. Updates files that are already in the
32
32
 
33
33
  ## git cleanup
34
34
 
35
- List or delete branches that have already been merged and delete tracking branches that are no longer on ther remote.
35
+ List or delete branches that have already been merged and delete tracking branches that are no longer on the remote.
36
36
 
37
37
  ## git co
38
38
 
39
- Equivalent to 'git checkout' but with intelligent branch matching
40
-
41
- ## git mr
42
-
43
- Push a feature branch to GitLab and create a merge request
39
+ Equivalent to 'git checkout' but with intelligent branch matching, so specifying a partial branch name will work if it uniquely matches an existing branch
44
40
 
45
41
  ## git parent
46
42
 
@@ -62,21 +58,21 @@ Console-based git change review tool.
62
58
 
63
59
  Manage a collection of related git repoitories.
64
60
 
65
- # General Commands
61
+ ## GitLab Commands
66
62
 
67
- ## addpath
63
+ ### git mr
68
64
 
69
- Update a $PATH-type variable by adding or removing entries.
65
+ Push a feature branch to GitLab and create a merge request
70
66
 
71
- ## console-colours
67
+ ### gl
72
68
 
73
- Display all available colours in the console.
69
+ Command line for GitLab
74
70
 
75
- ## diskspacecheck
71
+ # General Commands
76
72
 
77
- Check how much free space is available on all filesystems, ignoring read-only filesystems, /dev and tmpfs.
73
+ ## addpath
78
74
 
79
- Issue a warning if any are above 90% used.
75
+ Update a $PATH-type variable by adding or removing entries.
80
76
 
81
77
  ## docker-purge
82
78
 
@@ -122,7 +118,7 @@ Simple search and replace utility for those times when trying to escape characte
122
118
 
123
119
  ## tfm
124
120
 
125
- Console-based file-manager, similar to Midnight Commander but better.
121
+ Console-based file-manager, similar to Midnight Commander but aiming to be better.
126
122
 
127
123
  ## tfparse
128
124
 
@@ -140,9 +136,7 @@ Create a script to create/update a virtual environment and run a python script i
140
136
 
141
137
  ## xchmod
142
138
 
143
- WIP: Command to run chmod only on files that need it (only modifies files that don't have the required permissions already).
144
-
145
- Currently implements a *very* restricted set of functionality.
139
+ Command to run chmod only on files that need it (only modifies files that don't have the required permissions already).
146
140
 
147
141
  ## yamlcheck
148
142
 
@@ -156,9 +150,15 @@ These will be moved to the skilleter-extras package in due course.
156
150
 
157
151
  Wrapper for the borg backup utility to make it easier to use with a fixed set of options.
158
152
 
159
- ## gl
153
+ ## consolecolours
160
154
 
161
- Command line for GitLab
155
+ Display all available colours in the console.
156
+
157
+ ## diskspacecheck
158
+
159
+ Check how much free space is available on all filesystems, ignoring read-only filesystems, /dev and tmpfs.
160
+
161
+ Issue a warning if any are above 90% used.
162
162
 
163
163
  ## gphotosync
164
164
 
@@ -7,7 +7,7 @@ name = "skilleter_thingy"
7
7
 
8
8
  # Version must be incremented to install updated Thingy
9
9
 
10
- version = "0.0.78"
10
+ version = "0.0.80"
11
11
 
12
12
  authors = [
13
13
  {name="John Skilleter", email="john@skilleter.org.uk"},
@@ -43,7 +43,7 @@ Home = "https://skilleter.org.uk"
43
43
  [project.scripts]
44
44
  addpath = "skilleter_thingy:addpath.addpath"
45
45
  borger = "skilleter_thingy:borger.borger"
46
- console_colours = "skilleter_thingy:console_colours.console_colours"
46
+ consolecolours = "skilleter_thingy:console_colours.console_colours"
47
47
  diskspacecheck = "skilleter_thingy:diskspacecheck.diskspacecheck"
48
48
  docker-purge = "skilleter_thingy:docker_purge.docker_purge"
49
49
  ffind = "skilleter_thingy:ffind.ffind"
@@ -6,6 +6,7 @@
6
6
  Copyright (C) 2020 John Skilleter
7
7
 
8
8
  TODO:
9
+ * Check for nothing to review before starting curses to avoid screen flicker when we start and immediately quit.
9
10
  * Use inotify to watch files in the review and prompt to reload if they have changed
10
11
  * Better status line
11
12
  * Mouse functionality?
@@ -17,14 +18,13 @@
17
18
  * add command
18
19
  * commit command
19
20
  * ability to embed colour changes in strings when writing with curses
20
- * if no changes, screen should not flicker (it activates them immediately deactives curses)
21
21
  * Bottom line of the display should be menu that changes to a prompt if necc when running a command
22
22
  * Scroll, rather than jump, when moving down off the bottom of the screen - start scrolling when within 10% of top or bottom
23
23
  * Bottom line of display should show details of current file rather than help?
24
24
  * Mark/Unmark as reviewed by wildcard
25
25
  * Think that maintaining the list of files as a dictionary may be better than a list
26
26
  * Filter in/out new/deleted files
27
- * Universal filter dialog replace individual optins and allow selection of:
27
+ * Universal filter dialog replace individual options and allow selection of:
28
28
  * Show: all / deleted / updated files
29
29
  * Show: all / wildcard match / wildcard non-match
30
30
  * Show: all / reviewed / unreviewed files
@@ -194,11 +194,11 @@ class PopUp():
194
194
  if self.waitkey:
195
195
  while True:
196
196
  keypress = self.screen.getch()
197
- if keypress != curses.KEY_RESIZE:
198
- break
199
- else:
197
+ if keypress == curses.KEY_RESIZE:
200
198
  curses.panel.update_panels()
201
199
  self.screen.refresh()
200
+ else:
201
+ break
202
202
 
203
203
  def __exit__(self, exc_type, exc_value, exc_traceback):
204
204
  """ Remove the popup """
@@ -293,6 +293,7 @@ class GitReview():
293
293
  self.show_none_whitespace_stats = False
294
294
 
295
295
  self.finished = False
296
+ self.status_code = 0
296
297
 
297
298
  # Use paths relative to the current directory
298
299
 
@@ -386,6 +387,7 @@ class GitReview():
386
387
  ord('e'): {'help': 'Edit the current file', 'function': self.__key_edit_file},
387
388
  ord('s'): {'help': 'Cycle sort order', 'function': self.__key_cycle_search},
388
389
  ord('S'): {'help': 'Reverse sort order', 'function': self.__key_reverse_sort},
390
+ 3: {'help': 'Exit', 'function': self.__key_error_review},
389
391
  }
390
392
 
391
393
  ################################################################################
@@ -920,6 +922,14 @@ class GitReview():
920
922
 
921
923
  ################################################################################
922
924
 
925
+ def __key_error_review(self):
926
+ """ Quit with an error"""
927
+
928
+ self.finished = True
929
+ self.status_code = 1
930
+
931
+ ################################################################################
932
+
923
933
  def __key_toggle_reviewed(self):
924
934
  """ Toggle mark file as reviewed and move down unless hide mode enabled
925
935
  and file is now hidden """
@@ -1406,6 +1416,8 @@ def main(screen, args):
1406
1416
 
1407
1417
  review.save_state()
1408
1418
 
1419
+ return review.status_code
1420
+
1409
1421
  ################################################################################
1410
1422
 
1411
1423
  def git_review():
@@ -1414,7 +1426,9 @@ def git_review():
1414
1426
  try:
1415
1427
  command_args = parse_command_line()
1416
1428
 
1417
- curses.wrapper(main, command_args)
1429
+ statcode = curses.wrapper(main, command_args)
1430
+
1431
+ sys.exit(statcode)
1418
1432
 
1419
1433
  except KeyboardInterrupt:
1420
1434
  sys.exit(1)