skilleter-thingy 0.0.47__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.
- {skilleter_thingy-0.0.47/skilleter_thingy.egg-info → skilleter_thingy-0.0.49}/PKG-INFO +1 -1
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/pyproject.toml +1 -1
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_review.py +5 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/gphotosync.py +10 -4
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49/skilleter_thingy.egg-info}/PKG-INFO +1 -1
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/SOURCES.txt +0 -1
- skilleter_thingy-0.0.47/skilleter_thingy/box.py +0 -33
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/LICENSE +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/README.md +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/setup.cfg +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/__init__.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/addpath.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/borger.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/console_colours.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/diskspacecheck.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/docker_purge.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/ffind.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/ggit.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/ggrep.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_br.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_ca.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_cleanup.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_co.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_common.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_hold.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_mr.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_parent.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_update.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/git_wt.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/gitcmp_helper.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/gitprompt.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/gl.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/linecount.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/moviemover.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/photodupe.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/phototidier.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/py_audit.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/readable.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/remdir.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/rmdupe.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/rpylint.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/splitpics.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/strreplace.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/sysmon.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/tfm.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/tfparse.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/__init__.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/colour.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dc_curses.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dc_defaults.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dc_util.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/dircolors.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/docker.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/files.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/git.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/git2.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/gitlab.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/logger.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/path.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/popup.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/process.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/run.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/tfm_pane.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/tidy.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/venv_template.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/trimpath.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/venv_create.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/window_rename.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/xchmod.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/yamlcheck.py +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/dependency_links.txt +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/entry_points.txt +0 -0
- {skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/requires.txt +0 -0
- {skilleter_thingy-0.0.47 → 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.
|
|
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
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
* info command
|
|
17
17
|
* add command
|
|
18
18
|
* commit command
|
|
19
|
+
* 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)
|
|
19
21
|
* Bottom line of the display should be menu that changes to a prompt if necc when running a command
|
|
20
22
|
* Scroll, rather than jump, when moving down off the bottom of the screen - start scrolling when within 10% of top or bottom
|
|
21
23
|
* Bottom line of display should show details of current file rather than help?
|
|
@@ -630,6 +632,9 @@ class GitReview():
|
|
|
630
632
|
if self.repo_name:
|
|
631
633
|
title_bar = '%s in %s' % (title_bar, self.repo_name)
|
|
632
634
|
|
|
635
|
+
if self.paths:
|
|
636
|
+
title_bar = '%s within path(s) %s' % (title_bar, ', '.join(self.paths))
|
|
637
|
+
|
|
633
638
|
self.__centre_text(0, curses.color_pair(COLOUR_STATUS), title_bar)
|
|
634
639
|
|
|
635
640
|
################################################################################
|
|
@@ -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.
|
|
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
|
|
@@ -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()
|
|
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
|
|
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
|
|
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
|
|
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
|
{skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy/thingy/venv_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{skilleter_thingy-0.0.47 → skilleter_thingy-0.0.49}/skilleter_thingy.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|