skilleter-thingy 0.0.66__tar.gz → 0.0.68__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.
Files changed (73) hide show
  1. {skilleter_thingy-0.0.66/skilleter_thingy.egg-info → skilleter_thingy-0.0.68}/PKG-INFO +2 -2
  2. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/pyproject.toml +1 -1
  3. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/ggit.py +1 -3
  4. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/readable.py +28 -13
  5. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68/skilleter_thingy.egg-info}/PKG-INFO +2 -2
  6. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/LICENSE +0 -0
  7. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/README.md +0 -0
  8. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/setup.cfg +0 -0
  9. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/__init__.py +0 -0
  10. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/addpath.py +0 -0
  11. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/borger.py +0 -0
  12. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/box.py +0 -0
  13. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/console_colours.py +0 -0
  14. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/diskspacecheck.py +0 -0
  15. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/docker_purge.py +0 -0
  16. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/ffind.py +0 -0
  17. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/ggrep.py +0 -0
  18. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_br.py +0 -0
  19. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_ca.py +0 -0
  20. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_cleanup.py +0 -0
  21. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_co.py +0 -0
  22. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_common.py +0 -0
  23. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_hold.py +0 -0
  24. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_mr.py +0 -0
  25. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_parent.py +0 -0
  26. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_review.py +0 -0
  27. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_update.py +0 -0
  28. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/git_wt.py +0 -0
  29. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/gitcmp_helper.py +0 -0
  30. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/gitprompt.py +0 -0
  31. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/gl.py +0 -0
  32. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/gphotosync.py +0 -0
  33. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/linecount.py +0 -0
  34. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/moviemover.py +0 -0
  35. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/photodupe.py +0 -0
  36. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/phototidier.py +0 -0
  37. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/py_audit.py +0 -0
  38. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/remdir.py +0 -0
  39. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/rmdupe.py +0 -0
  40. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/rpylint.py +0 -0
  41. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/splitpics.py +0 -0
  42. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/strreplace.py +0 -0
  43. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/sysmon.py +0 -0
  44. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/tfm.py +0 -0
  45. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/tfparse.py +0 -0
  46. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/__init__.py +0 -0
  47. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/colour.py +0 -0
  48. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/dc_curses.py +0 -0
  49. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/dc_defaults.py +0 -0
  50. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/dc_util.py +0 -0
  51. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/dircolors.py +0 -0
  52. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/docker.py +0 -0
  53. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/files.py +0 -0
  54. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/git.py +0 -0
  55. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/git2.py +0 -0
  56. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/gitlab.py +0 -0
  57. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/path.py +0 -0
  58. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/popup.py +0 -0
  59. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/process.py +0 -0
  60. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/run.py +0 -0
  61. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/tfm_pane.py +0 -0
  62. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/tidy.py +0 -0
  63. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/thingy/venv_template.py +0 -0
  64. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/trimpath.py +0 -0
  65. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/venv_create.py +0 -0
  66. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/window_rename.py +0 -0
  67. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/xchmod.py +0 -0
  68. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy/yamlcheck.py +0 -0
  69. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy.egg-info/SOURCES.txt +0 -0
  70. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy.egg-info/dependency_links.txt +0 -0
  71. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy.egg-info/entry_points.txt +0 -0
  72. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy.egg-info/requires.txt +0 -0
  73. {skilleter_thingy-0.0.66 → skilleter_thingy-0.0.68}/skilleter_thingy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: skilleter_thingy
3
- Version: 0.0.66
3
+ Version: 0.0.68
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
@@ -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.66"
10
+ version = "0.0.68"
11
11
 
12
12
  authors = [
13
13
  {name="John Skilleter", email="john@skilleter.org.uk"},
@@ -16,9 +16,7 @@ def run_git(args, directory, command):
16
16
  """ Run a git command in the specified directory """
17
17
 
18
18
  if not args.quiet:
19
- print('-' * 80)
20
- print('Running git %s in %s' % (' '.join(command), directory))
21
- print('-' * 80)
19
+ colour.write('\n[BOLD][GREEN:Running git %s in %s][NORMAL]\n' % (' '.join(command), directory))
22
20
 
23
21
  sys.stdout.flush()
24
22
 
@@ -10,6 +10,7 @@
10
10
 
11
11
  # TODO: Not sure it works properly as a pipe
12
12
  # TODO: Error handling in file I/O
13
+ # TODO: Ability to remove Terraform 'will be read during apply' blocks (remove from '^ <= .* \{' to ^ \}$')
13
14
 
14
15
  ################################################################################
15
16
 
@@ -68,19 +69,20 @@ def parse_command_line():
68
69
 
69
70
  parser = argparse.ArgumentParser(description='Read from standard input and write to standard output modifying ANSI colour codes en-route.')
70
71
 
71
- parser.add_argument('-l', '--light', action='store_true', help='Modify colours for a light background (the default)')
72
- parser.add_argument('-d', '--dark', action='store_true', help='Modify colours for a dark background')
73
- parser.add_argument('-n', '--none', action='store_true', help='Remove all colour codes')
74
- parser.add_argument('-t', '--tidy', action='store_true',
72
+ parser.add_argument('--light', '-l', action='store_true', help='Modify colours for a light background (the default)')
73
+ parser.add_argument('--dark', '-d', action='store_true', help='Modify colours for a dark background')
74
+ parser.add_argument('--none', '-n', action='store_true', help='Remove all colour codes')
75
+ parser.add_argument('--tidy', '-t', action='store_true',
75
76
  help='Remove colour codes and stuff that typically occurs in log files causing diffs, but is of no particular interest (e.g. SHA1 values, times, dates)')
76
- parser.add_argument('-s', '--strip-blank', action='store_true', help='Strip all blank lines')
77
- parser.add_argument('-D', '--debug', action='store_true', help='Replace colours with debug information')
78
- parser.add_argument('-o', '--out', action='store_true', help='Output to standard output rather than overwriting input files')
79
- parser.add_argument('-O', '--dir', action='store', default=None, help='Store output files in the specified directory (creating it if it doesn\'t exist)')
80
- parser.add_argument('-a', '--aws', action='store_true', help='Remove AWS resource IDs')
81
- parser.add_argument('-T', '--terraform', action='store_true', help='Clean Terraform plan/apply log files')
82
- parser.add_argument('-R', '--replace', action='append', default=None, help='Additional regex replacements in the form "REGEX=REPLACEMENT"')
83
- parser.add_argument('-v', '--verbose', action='store_true', help='Output verbose status')
77
+ parser.add_argument('--strip-blank', '-s', action='store_true', help='Strip all blank lines')
78
+ parser.add_argument('--debug', '-D', action='store_true', help='Replace colours with debug information')
79
+ parser.add_argument('--out', '-o', action='store_true', help='Output to standard output rather than overwriting input files')
80
+ parser.add_argument('--dir', '-O', action='store', default=None, help='Store output files in the specified directory (creating it if it doesn\'t exist)')
81
+ parser.add_argument('--aws', '-a', action='store_true', help='Remove AWS resource IDs')
82
+ parser.add_argument('--terraform', '-T', action='store_true', help='Clean Terraform plan/apply log files')
83
+ parser.add_argument('--replace', '-R', action='append', default=None, help='Additional regex replacements in the form "REGEX=REPLACEMENT"')
84
+ parser.add_argument('--verbose', '-v', action='store_true', help='Output verbose status')
85
+ parser.add_argument('--minimal', '-m', action='store_true', help='Remove unnecessary data from the file (e.g. Terraform progress updates (Refreshing..., Reading..., etc.))')
84
86
  parser.add_argument('files', nargs='*', default=None, help='The files to convert (use stdin/stout if no input files are specified)')
85
87
 
86
88
  args = parser.parse_args()
@@ -206,9 +208,16 @@ def cleanfile(args, infile, outfile):
206
208
  for entry in args.regex_replace:
207
209
  clean = entry['regex'].sub(entry['replace'], clean)
208
210
 
211
+ # Additional cleanup - remove 'noise' from the output (currently just TF-related).
212
+
213
+ if args.minimal:
214
+ if args.terraform:
215
+ if TF_REFRESHING_AND_READING.match(clean):
216
+ clean = None
217
+
209
218
  # Do things with Terraform log data
210
219
 
211
- if args.terraform:
220
+ if clean and args.terraform:
212
221
  clean = tidy.regex_replace(clean, TF_MISC_REGEX)
213
222
 
214
223
  for ignore in TF_IGNORE_LIST:
@@ -332,12 +341,16 @@ def main():
332
341
  if args.dir:
333
342
  # Writing to a directory - just move the output file there unconditionally
334
343
 
344
+ logging.info('Writing %s to %s', outfile_name, args.dir)
345
+
335
346
  shutil.move(outfile_name, os.path.join(args.dir, os.path.basename(filename)))
336
347
 
337
348
  elif not filecmp.cmp(outfile_name, filename, shallow=False):
338
349
  # Only backup and write the source file if changes have been made (original is
339
350
  # left in place without a backup if nothing's changed)
340
351
 
352
+ logging.info('Backing up old file and writing new %s', outfile_name)
353
+
341
354
  files.backup(filename)
342
355
 
343
356
  shutil.move(outfile_name, filename)
@@ -345,6 +358,8 @@ def main():
345
358
  else:
346
359
  # Output file hasn't been used, so just delete it
347
360
 
361
+ logging.info('No changes made to %s', outfile_name)
362
+
348
363
  os.unlink(outfile_name)
349
364
 
350
365
  except FileNotFoundError as exc:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: skilleter_thingy
3
- Version: 0.0.66
3
+ Version: 0.0.68
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