summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Svn.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/Svn.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/Svn.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Svn.py38
1 files changed, 13 insertions, 25 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Svn.py b/src/lib/Bcfg2/Server/Plugins/Svn.py
index ae43388ea..5bc9d6bbd 100644
--- a/src/lib/Bcfg2/Server/Plugins/Svn.py
+++ b/src/lib/Bcfg2/Server/Plugins/Svn.py
@@ -1,35 +1,23 @@
-import os
+""" The Svn plugin provides a revision interface for Bcfg2 repos using
+svn. """
+
import pipes
from subprocess import Popen, PIPE
import Bcfg2.Server.Plugin
-# for debugging output only
-import logging
-logger = logging.getLogger('Bcfg2.Plugins.Svn')
-
class Svn(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.Version):
- """Svn is a version plugin for dealing with Bcfg2 repos."""
- name = 'Svn'
+ """ The Svn plugin provides a revision interface for Bcfg2 repos
+ using svn. """
__author__ = 'bcfg-dev@mcs.anl.gov'
+ __vcs_metadata_path__ = ".svn"
def __init__(self, core, datastore):
Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
- self.core = core
- self.datastore = datastore
-
- # path to svn directory for bcfg2 repo
- svn_dir = "%s/.svn" % datastore
-
- # Read revision from bcfg2 repo
- if os.path.isdir(svn_dir):
- self.get_revision()
- else:
- logger.error("%s is not a directory" % svn_dir)
- raise Bcfg2.Server.Plugin.PluginInitError
-
- logger.debug("Initialized svn plugin with svn directory = %s" % svn_dir)
+ Bcfg2.Server.Plugin.Version.__init__(self, datastore)
+ self.logger.debug("Initialized svn plugin with svn directory %s" %
+ self.vcs_path)
def get_revision(self):
"""Read svn revision information for the Bcfg2 repository."""
@@ -40,7 +28,7 @@ class Svn(Bcfg2.Server.Plugin.Plugin,
return [line.split(': ')[1] for line in data \
if line[:9] == 'Revision:'][-1]
except IndexError:
- logger.error("Failed to read svn info; disabling svn support")
- logger.error('''Ran command "svn info %s"''' % (self.datastore))
- logger.error("Got output: %s" % data)
- raise Bcfg2.Server.Plugin.PluginInitError
+ msg = "Failed to read svn info"
+ self.logger.error(msg)
+ self.logger.error('Ran command "svn info %s"' % self.datastore)
+ raise Bcfg2.Server.Plugin.PluginExecutionError(msg)