Aesthetics

What on earth was I thinking...
master
Lertsenem 2017-01-02 22:17:12 +01:00
parent 671bd90024
commit 755b079ab6
7 changed files with 121 additions and 118 deletions

View File

@ -6,7 +6,7 @@ import os.path
import utils
from metafile import Metafile, MalformedMetafileError, NoPathDefinedError
# --------------------------------------
# -----------------------------------------------------------------------------
def init(parser):
parser.add_argument( "app",
@ -25,7 +25,7 @@ def init(parser):
"file/directory in the persoconf directory" )
# --------------------------------------
# -----------------------------------------------------------------------------
def run(args, persoconf, logger):
# Check (and create) the app directory

View File

@ -6,7 +6,7 @@ import filecmp
from metafile import Metafile, MalformedMetafileError
# --------------------------------------
# -----------------------------------------------------------------------------
def init(parser):
"""Initialize check subcommand"""
@ -28,7 +28,7 @@ def init(parser):
"file/directory" )
# --------------------------------------
# -----------------------------------------------------------------------------
def run(args, persoconf, logger):
logger.debug("Starting 'check' command")
@ -128,7 +128,7 @@ def run(args, persoconf, logger):
logger )
# --------------------------------------
# -----------------------------------------------------------------------------
def _compare_and_log(original_file_path, persoconf_backup_path, logger):
"""Compare a file with its persoconf backup and log the result (at info
level if the files are matching, warning level if they are not)."""

View File

@ -9,7 +9,7 @@ import utils
from metafile import Metafile, MalformedMetafileError
# --------------------------------------
# -----------------------------------------------------------------------------
def init(parser):
parser.add_argument( "app",
type=str,
@ -28,7 +28,7 @@ def init(parser):
# --------------------------------------
# -----------------------------------------------------------------------------
def run(args, persoconf, logger):
# Does this app really exists ?

View File

@ -3,7 +3,7 @@
import os.path
# --------------------------------------
# -----------------------------------------------------------------------------
def init(parser):
parser.add_argument( "apps",
type=str,
@ -20,7 +20,7 @@ def init(parser):
# --------------------------------------
# -----------------------------------------------------------------------------
def run(args, persoconf, logger):
app_list = persoconf.list_apps(logger=logger)

View File

@ -7,7 +7,7 @@ import tarfile
from metafile import Metafile, MalformedMetafileError
# --------------------------------------
# -----------------------------------------------------------------------------
def init(parser):
parser.add_argument( "apps",
@ -30,7 +30,7 @@ def init(parser):
default="persoconf." + (time.strftime("%Y%m%d")),
help="The name of the package to create" )
# --------------------------------------
# -----------------------------------------------------------------------------
def run(args, persoconf, logger):
pkgname = args.pkgname

View File

@ -6,7 +6,7 @@ import os.path
import utils
from metafile import Metafile, MalformedMetafileError
# --------------------------------------
# -----------------------------------------------------------------------------
def init(parser):
parser.add_argument( "app",
@ -21,7 +21,7 @@ def init(parser):
help="The files to update ; default to all " \
"added files" )
# --------------------------------------
# -----------------------------------------------------------------------------
def run(args, persoconf, logger):
# app == None => update all apps

35
main.py
View File

@ -21,8 +21,9 @@ import commands.list, commands.package, commands.update, commands.add, \
# ARGPARSE
########################################
##############################################################################
# Argument parsing using argparse
# =============================================================================
parser = argparse.ArgumentParser()
parser.add_argument( "--rootdir",
@ -44,20 +45,24 @@ subparsers = parser.add_subparsers( dest="command" ,
title="commands" )
# Help
# -----------------------------------------------------------------------------
parser_help = subparsers.add_parser( "help",
help="Print this help" )
# List
# -----------------------------------------------------------------------------
parser_list = subparsers.add_parser( "list",
help="List backuped apps" )
commands.list.init(parser_list)
# Package
# -----------------------------------------------------------------------------
parser_package = subparsers.add_parser( "package",
help="Package a persoconf repository" )
commands.package.init(parser_package)
# Update
# -----------------------------------------------------------------------------
parser_update = subparsers.add_parser( "update",
help="Backup an app configuration in " \
"the persoconf directory with " \
@ -65,6 +70,7 @@ parser_update = subparsers.add_parser( "update" ,
commands.update.init(parser_update)
# Add
# -----------------------------------------------------------------------------
parser_add = subparsers.add_parser( "add",
help="Add an app to the persoconf " \
"directory, or add a config file " \
@ -72,12 +78,14 @@ parser_add = subparsers.add_parser( "add" ,
commands.add.init(parser_add)
# Check
# -----------------------------------------------------------------------------
parser_check = subparsers.add_parser( "check",
help="Checks if the backuped and the " \
"original file are different." )
commands.check.init(parser_check)
# Delete
# -----------------------------------------------------------------------------
parser_del = subparsers.add_parser( "delete",
help="Delete an app from the persoconf " \
"directory, or a config file from " \
@ -85,13 +93,14 @@ parser_del = subparsers.add_parser( "delete" ,
commands.delete.init(parser_del)
# Parse arguments
# =============================================================================
args = parser.parse_args()
# Transform paths
args.rootdir = os.path.expanduser(args.rootdir)
# LOGGING
########################################
##############################################################################
log = logging.getLogger("persoconf")
log.setLevel(logging.DEBUG)
@ -110,13 +119,14 @@ log_handler_console.setFormatter(log_formatter_console)
log.addHandler(log_handler_console)
# SCRIPT
########################################
##############################################################################
# If we were asked for help, let's give some
if args.command in [ "help", None ]:
parser.print_help()
exit()
# Try to create the Persoconf
# =============================================================================
try:
persoconf = Persoconf(path=args.rootdir, metafile=args.metafile)
@ -151,38 +161,31 @@ except PersoconfRootDoesNotExistError:
exit()
# LIST COMMAND
########################################
# =============================================================================
if args.command == "list":
commands.list.run(args, persoconf, log)
# DELETE COMMAND
########################################
# =============================================================================
if args.command == "delete":
commands.delete.run(args, persoconf, log)
# ADD COMMAND
########################################
# =============================================================================
if args.command == "add":
commands.add.run(args, persoconf, log)
# CHECK COMMAND
########################################
# =============================================================================
if args.command == "check":
commands.check.run(args, persoconf, log)
# UPDATE COMMAND
########################################
# =============================================================================
if args.command == "update":
commands.update.run(args, persoconf, log)
# PACKAGE COMMAND
########################################
# =============================================================================
if args.command == "package":
commands.package.run(args, persoconf, log)
########################################