skilleter-thingy 0.0.48__tar.gz → 0.0.49__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.48/skilleter_thingy.egg-info → skilleter_thingy-0.0.49}/PKG-INFO +1 -1
  2. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/pyproject.toml +1 -1
  3. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/gphotosync.py +10 -4
  4. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49/skilleter_thingy.egg-info}/PKG-INFO +1 -1
  5. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/SOURCES.txt +0 -1
  6. skilleter_thingy-0.0.48/skilleter_thingy/box.py +0 -33
  7. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/LICENSE +0 -0
  8. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/README.md +0 -0
  9. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/setup.cfg +0 -0
  10. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/__init__.py +0 -0
  11. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/addpath.py +0 -0
  12. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/borger.py +0 -0
  13. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/console_colours.py +0 -0
  14. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/diskspacecheck.py +0 -0
  15. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/docker_purge.py +0 -0
  16. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/ffind.py +0 -0
  17. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/ggit.py +0 -0
  18. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/ggrep.py +0 -0
  19. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_br.py +0 -0
  20. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_ca.py +0 -0
  21. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_cleanup.py +0 -0
  22. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_co.py +0 -0
  23. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_common.py +0 -0
  24. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_hold.py +0 -0
  25. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_mr.py +0 -0
  26. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_parent.py +0 -0
  27. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_review.py +0 -0
  28. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_update.py +0 -0
  29. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/git_wt.py +0 -0
  30. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/gitcmp_helper.py +0 -0
  31. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/gitprompt.py +0 -0
  32. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/gl.py +0 -0
  33. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/linecount.py +0 -0
  34. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/moviemover.py +0 -0
  35. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/photodupe.py +0 -0
  36. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/phototidier.py +0 -0
  37. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/py_audit.py +0 -0
  38. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/readable.py +0 -0
  39. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/remdir.py +0 -0
  40. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/rmdupe.py +0 -0
  41. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/rpylint.py +0 -0
  42. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/splitpics.py +0 -0
  43. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/strreplace.py +0 -0
  44. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/sysmon.py +0 -0
  45. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/tfm.py +0 -0
  46. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/tfparse.py +0 -0
  47. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/__init__.py +0 -0
  48. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/colour.py +0 -0
  49. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dc_curses.py +0 -0
  50. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dc_defaults.py +0 -0
  51. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dc_util.py +0 -0
  52. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dircolors.py +0 -0
  53. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/docker.py +0 -0
  54. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/files.py +0 -0
  55. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/git.py +0 -0
  56. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/git2.py +0 -0
  57. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/gitlab.py +0 -0
  58. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/logger.py +0 -0
  59. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/path.py +0 -0
  60. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/popup.py +0 -0
  61. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/process.py +0 -0
  62. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/run.py +0 -0
  63. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/tfm_pane.py +0 -0
  64. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/tidy.py +0 -0
  65. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/venv_template.py +0 -0
  66. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/trimpath.py +0 -0
  67. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/venv_create.py +0 -0
  68. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/window_rename.py +0 -0
  69. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/xchmod.py +0 -0
  70. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy/yamlcheck.py +0 -0
  71. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/dependency_links.txt +0 -0
  72. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/entry_points.txt +0 -0
  73. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/requires.txt +0 -0
  74. {skilleter_thingy-0.0.48 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skilleter_thingy
3
- Version: 0.0.48
3
+ Version: 0.0.49
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.48"
10
+ version = "0.0.49"
11
11
 
12
12
  authors = [
13
13
  {name="John Skilleter", email="john@skilleter.org.uk"},
@@ -120,6 +120,7 @@ def parse_command_line():
120
120
  parser.add_argument('--rclone', '-r', action='store', default=DEFAULT_RCLONE_REMOTE, help=f'rclone remote name for Google photos (defaults to {DEFAULT_RCLONE_REMOTE})')
121
121
  parser.add_argument('--no-update', '-N', action='store_true', help='Do not update local cache')
122
122
  parser.add_argument('--keep', '-k', action='store', type=int, default=DEFAULT_KEEP, help=f'Keep this number of months before the start date in the cache (defaults to {DEFAULT_KEEP})')
123
+ parser.add_argument('--skip-no-day', '-z', action='store_true', help='Don\'t sync files where the day of the month could not be determined')
123
124
  parser.add_argument('action', nargs='*', help='Actions to perform (report or sync)')
124
125
 
125
126
  args = parser.parse_args()
@@ -319,7 +320,7 @@ def get_media_date(name, info):
319
320
 
320
321
  ################################################################################
321
322
 
322
- def sync_media_local(dryrun, media_files, destination_dir):
323
+ def sync_media_local(dryrun, skip_no_day, media_files, destination_dir):
323
324
  """Sync files from the cache to local storage"""
324
325
 
325
326
  # Iterate through the list of remote media_files to try work out the date and
@@ -328,6 +329,11 @@ def sync_media_local(dryrun, media_files, destination_dir):
328
329
  for media_file in media_files:
329
330
  year, month, day = get_media_date(media_file, media_files[media_file])
330
331
 
332
+ # If specified, skip files where the day of the month could not be determined
333
+
334
+ if skip_no_day and day == '00':
335
+ day = None
336
+
331
337
  if year and month and day:
332
338
  destination_media_file_path = os.path.join(destination_dir, year, f'{year}-{month}-{day}', os.path.basename(media_file))
333
339
 
@@ -385,7 +391,7 @@ def update_cache(args, year, month):
385
391
 
386
392
  ################################################################################
387
393
 
388
- def media_sync(dryrun, media, media_files, local_dir):
394
+ def media_sync(dryrun, skip_no_day, media, media_files, local_dir):
389
395
  """Given a media type and list of local and remote files of the type, check
390
396
  for out-of-sync files and sync any missing remote files to local storage"""
391
397
 
@@ -422,7 +428,7 @@ def media_sync(dryrun, media, media_files, local_dir):
422
428
 
423
429
  if media_files['remote']:
424
430
  colour.write(f' [BOLD:{len(media_files["remote"])} remote {media} files are out of sync]')
425
- sync_media_local(dryrun, media_files['remote'], local_dir)
431
+ sync_media_local(dryrun, skip_no_day, media_files['remote'], local_dir)
426
432
  else:
427
433
  colour.write(f' [BOLD:No remote {media} files are out of sync]')
428
434
 
@@ -542,7 +548,7 @@ def gphoto_sync(args, year, month):
542
548
  colour.write(f'[BOLD:Syncing files for {month:02}/{year}]')
543
549
 
544
550
  for media in ('photo', 'video'):
545
- media_sync(args.dryrun, media, media_files[media], args.local_dir[media])
551
+ media_sync(args.dryrun, args.skip_no_day, media, media_files[media], args.local_dir[media])
546
552
 
547
553
  ################################################################################
548
554
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skilleter_thingy
3
- Version: 0.0.48
3
+ Version: 0.0.49
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
@@ -4,7 +4,6 @@ pyproject.toml
4
4
  skilleter_thingy/__init__.py
5
5
  skilleter_thingy/addpath.py
6
6
  skilleter_thingy/borger.py
7
- skilleter_thingy/box.py
8
7
  skilleter_thingy/console_colours.py
9
8
  skilleter_thingy/diskspacecheck.py
10
9
  skilleter_thingy/docker_purge.py
@@ -1,33 +0,0 @@
1
- #! /usr/bin/env python3
2
-
3
- ################################################################################
4
- """ Draw a box with text in
5
- """
6
- ################################################################################
7
-
8
- import os
9
- import sys
10
- import argparse
11
- import thingy.colour as colour
12
-
13
- ################################################################################
14
-
15
- def main():
16
- """The guts"""
17
- return
18
- ################################################################################
19
-
20
- def box():
21
- """Entry point"""
22
-
23
- try:
24
- main()
25
- except KeyboardInterrupt:
26
- sys.exit(1)
27
- except BrokenPipeError:
28
- sys.exit(2)
29
-
30
- ################################################################################
31
-
32
- if __name__ == '__main__':
33
- box()