safekeep 0.5.1__tar.gz → 0.5.2__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 (26) hide show
  1. {safekeep-0.5.1/safekeep.egg-info → safekeep-0.5.2}/PKG-INFO +1 -1
  2. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/__init__.py +1 -1
  3. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/daemon.py +7 -3
  4. {safekeep-0.5.1 → safekeep-0.5.2/safekeep.egg-info}/PKG-INFO +1 -1
  5. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_daemon.py +4 -0
  6. {safekeep-0.5.1 → safekeep-0.5.2}/LICENSE +0 -0
  7. {safekeep-0.5.1 → safekeep-0.5.2}/README.md +0 -0
  8. {safekeep-0.5.1 → safekeep-0.5.2}/pyproject.toml +0 -0
  9. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/cli.py +0 -0
  10. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/config.py +0 -0
  11. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/copier.py +0 -0
  12. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/matcher.py +0 -0
  13. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/platform.py +0 -0
  14. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep/volumes.py +0 -0
  15. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep.egg-info/SOURCES.txt +0 -0
  16. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep.egg-info/dependency_links.txt +0 -0
  17. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep.egg-info/entry_points.txt +0 -0
  18. {safekeep-0.5.1 → safekeep-0.5.2}/safekeep.egg-info/top_level.txt +0 -0
  19. {safekeep-0.5.1 → safekeep-0.5.2}/setup.cfg +0 -0
  20. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_cli.py +0 -0
  21. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_config.py +0 -0
  22. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_copier.py +0 -0
  23. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_matcher.py +0 -0
  24. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_platform.py +0 -0
  25. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_trend.py +0 -0
  26. {safekeep-0.5.1 → safekeep-0.5.2}/tests/test_volumes.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: safekeep
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: Selective always-on backups for macOS and Linux: fswatch-driven copy of allow-listed files, never deletes
5
5
  License-Expression: MIT
6
6
  Project-URL: Repository, https://github.com/foxhound87/safekeep
@@ -3,4 +3,4 @@ import logging
3
3
 
4
4
  logging.getLogger('safekeep').addHandler(logging.NullHandler())
5
5
 
6
- __version__ = '0.5.1'
6
+ __version__ = '0.5.2'
@@ -418,9 +418,13 @@ class Daemon:
418
418
  # --- fswatch ---------------------------------------------------------
419
419
 
420
420
  def fswatch_argv(self):
421
- """`fswatch -0 -m <monitor> -r -l 1.0 -e <regex> -- <roots>` (§6.4, §14.2):
422
- il monitor è dichiarato per piattaforma, mai il default implicito."""
423
- argv = ['fswatch', '-0', '-m', fswatch_monitor(), '-r', '-l', '1.0']
421
+ """`fswatch -0 -m <monitor> -r -l 1.0 -E -e <regex> -- <roots>` (§6.4, §14.2):
422
+ il monitor è dichiarato per piattaforma, mai il default implicito;
423
+ `-E` = regex ERE (Extended Regular Expressions): senza, fswatch legge le
424
+ `-e` come BRE (Basic Regular Expressions) dove `(`/`|` sono letterali e
425
+ NESSUNA esclusione filtra (con un `.sync` in `$HOME` i path di `Library`
426
+ entrano nel matcher e il daemon satura in `walk_dir`)."""
427
+ argv = ['fswatch', '-0', '-m', fswatch_monitor(), '-r', '-l', '1.0', '-E']
424
428
  for regex in self.exclude_regexes():
425
429
  argv += ['-e', regex]
426
430
  return argv + ['--'] + self.discovery_roots()[0]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: safekeep
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: Selective always-on backups for macOS and Linux: fswatch-driven copy of allow-listed files, never deletes
5
5
  License-Expression: MIT
6
6
  Project-URL: Repository, https://github.com/foxhound87/safekeep
@@ -433,6 +433,10 @@ class FswatchArgvTest(unittest.TestCase):
433
433
  self.assertEqual(argv[:3], ['fswatch', '-0', '-m'])
434
434
  self.assertIn(argv[3], ('fsevents_monitor', 'inotify_monitor'))
435
435
  self.assertEqual(argv[4:7], ['-r', '-l', '1.0'])
436
+ # `-E` obbligatorio: fswatch legge le `-e` come BRE (gruppi/alternanze
437
+ # letterali) e le esclusioni non filtrerebbero più nulla
438
+ self.assertIn('-E', argv)
439
+ self.assertLess(argv.index('-E'), argv.index('-e') if '-e' in argv else len(argv))
436
440
  regexes = [argv[i + 1] for i, a in enumerate(argv) if a == '-e']
437
441
  self.assertTrue(regexes)
438
442
  self.assertTrue(any(re.search(rx, '/qualcuno/node_modules/x') for rx in regexes))
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