1234567891011121314151617181920212223242526272829303132333435363738 |
- from __future__ import print_function
- from argparse import ArgumentParser
- from subprocess import CalledProcessError
- import sys
- from atticmatic.attic import create_archive, prune_archives
- from atticmatic.config import parse_configuration
- def main():
- parser = ArgumentParser()
- parser.add_argument(
- '--config',
- dest='config_filename',
- default='/etc/atticmatic/config',
- help='Configuration filename',
- )
- parser.add_argument(
- '--excludes',
- dest='excludes_filename',
- default='/etc/atticmatic/excludes',
- help='Excludes filename',
- )
- parser.add_argument(
- '--verbose',
- action='store_true',
- help='Display verbose progress information',
- )
- args = parser.parse_args()
- try:
- location_config, retention_config = parse_configuration(args.config_filename)
- create_archive(args.excludes_filename, args.verbose, *location_config)
- prune_archives(location_config.repository, args.verbose, *retention_config)
- except (ValueError, CalledProcessError), error:
- print(error, file=sys.stderr)
- sys.exit(1)
|