From 2f1a8ae42a26a7122b5eba0e8354e46de6211b75 Mon Sep 17 00:00:00 2001 From: Olivier Mangin Date: Tue, 15 Apr 2014 19:28:12 +0200 Subject: [PATCH] Adds possibility to create repo when instance initialized. This avoids having to manually call _create on filebroker. --- pubs/commands/init_cmd.py | 13 +++++++------ pubs/repo.py | 5 +++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/pubs/commands/init_cmd.py b/pubs/commands/init_cmd.py index 27a018d..cfafb43 100644 --- a/pubs/commands/init_cmd.py +++ b/pubs/commands/init_cmd.py @@ -6,6 +6,7 @@ from .. import databroker from ..configs import config from ..uis import get_ui from .. import color +from ..repo import Repository def parser(subparsers): @@ -28,19 +29,19 @@ def command(args): if pubsdir is None: pubsdir = '~/.pubs' - + pubsdir = os.path.normpath(os.path.abspath(os.path.expanduser(pubsdir))) if os.path.exists(pubsdir) and len(os.listdir(pubsdir)) > 0: - ui.error('directory {} is not empty.'.format( - color.dye(pubsdir, color.filepath))) - ui.exit() + ui.error('directory {} is not empty.'.format( + color.dye(pubsdir, color.filepath))) + ui.exit() ui.print_('Initializing pubs in {}.'.format( - color.dye(pubsdir, color.filepath))) + color.dye(pubsdir, color.filepath))) config().pubsdir = pubsdir config().docsdir = docsdir config().save() - databroker.DataBroker(pubsdir, create=True) + Repository(config(), create=True) diff --git a/pubs/repo.py b/pubs/repo.py index 46630b0..e5c68fa 100644 --- a/pubs/repo.py +++ b/pubs/repo.py @@ -21,10 +21,11 @@ class InvalidReference(Exception): class Repository(object): - def __init__(self, config): + def __init__(self, config, create=False): self.config = config self._citekeys = None - self.databroker = datacache.DataCache(self.config.pubsdir) + self.databroker = datacache.DataCache(self.config.pubsdir, + create=create) @property def citekeys(self):