summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Git.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-21 13:55:05 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 11:58:47 -0400
commitdd28e90f183972cc2a395094ce3e3f72e861953f (patch)
treedfe10fd66e0535763d953333ed49f6467762fbd6 /src/lib/Bcfg2/Server/Plugins/Git.py
parenteec8f653c0235bde8d3a754802a4485f0d542ea3 (diff)
downloadbcfg2-dd28e90f183972cc2a395094ce3e3f72e861953f.tar.gz
bcfg2-dd28e90f183972cc2a395094ce3e3f72e861953f.tar.bz2
bcfg2-dd28e90f183972cc2a395094ce3e3f72e861953f.zip
run pylint for errors on almost everything, full runs on some selected stuff
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Git.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Git.py42
1 files changed, 13 insertions, 29 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Git.py b/src/lib/Bcfg2/Server/Plugins/Git.py
index 8f8ea87f1..30416a147 100644
--- a/src/lib/Bcfg2/Server/Plugins/Git.py
+++ b/src/lib/Bcfg2/Server/Plugins/Git.py
@@ -1,44 +1,28 @@
-"""The Git plugin provides a revision interface for Bcfg2 repos using git."""
+""" The Git plugin provides a revision interface for Bcfg2 repos using
+git. """
-import os
-from dulwich.repo import Repo
+from dulwich.repo import Repo # pylint: disable=F0401
import Bcfg2.Server.Plugin
-# for debugging output only
-import logging
-logger = logging.getLogger('Bcfg2.Plugins.Git')
-
class Git(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.Version):
- """Git is a version plugin for dealing with Bcfg2 repos."""
- name = 'Git'
+ """ The Git plugin provides a revision interface for Bcfg2 repos
+ using git. """
__author__ = 'bcfg-dev@mcs.anl.gov'
+ __vcs_metadata_path__ = ".git"
def __init__(self, core, datastore):
Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
- Bcfg2.Server.Plugin.Version.__init__(self)
- self.core = core
- self.datastore = datastore
-
- # path to git directory for bcfg2 repo
- git_dir = "%s/.git" % datastore
-
- # Read revision from bcfg2 repo
- if os.path.isdir(git_dir):
- self.get_revision()
- else:
- logger.error("%s is not a directory" % git_dir)
- raise Bcfg2.Server.Plugin.PluginInitError
-
- logger.debug("Initialized git plugin with git directory %s" % git_dir)
+ Bcfg2.Server.Plugin.Version.__init__(self, datastore)
+ self.logger.debug("Initialized git plugin with git directory %s" %
+ self.vcs_path)
def get_revision(self):
"""Read git revision information for the Bcfg2 repository."""
try:
- repo = Repo(self.datastore)
- revision = repo.head()
+ return Repo(self.datastore).head()
except:
- logger.error("Failed to read git repository; disabling git support")
- raise Bcfg2.Server.Plugin.PluginInitError
- return revision
+ msg = "Failed to read git repository"
+ self.logger.error(msg)
+ raise Bcfg2.Server.Plugin.PluginExecutionError(msg)