diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-11-11 15:46:09 -0500 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-11-11 15:46:09 -0500 |
commit | e30c785c94c5aa399c44fff386fa2279f64f1acc (patch) | |
tree | e72c636dcae00a6ea0c668cfbee7d3e6b4e6a3fe /tools/upgrade/1.3/migrate_perms_to_mode.py | |
parent | 7aa15c4c5507e311ff66264bc31e6758a80eb337 (diff) | |
parent | 103b1b5198828876fa0684296900769018075f1b (diff) | |
download | bcfg2-e30c785c94c5aa399c44fff386fa2279f64f1acc.tar.gz bcfg2-e30c785c94c5aa399c44fff386fa2279f64f1acc.tar.bz2 bcfg2-e30c785c94c5aa399c44fff386fa2279f64f1acc.zip |
Merge branch 'maint'
Conflicts:
src/lib/Bcfg2/Server/Admin/Compare.py
src/lib/Bcfg2/Server/Admin/Snapshots.py
src/lib/Bcfg2/Server/MultiprocessingCore.py
src/lib/Bcfg2/Server/Plugins/Probes.py
src/sbin/bcfg2-crypt
src/sbin/bcfg2-reports
tools/upgrade/1.3/migrate_configs.py
tools/upgrade/1.3/migrate_perms_to_mode.py
Diffstat (limited to 'tools/upgrade/1.3/migrate_perms_to_mode.py')
-rwxr-xr-x | tools/upgrade/1.3/migrate_perms_to_mode.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/upgrade/1.3/migrate_perms_to_mode.py b/tools/upgrade/1.3/migrate_perms_to_mode.py index 786df0de6..2dfb70388 100755 --- a/tools/upgrade/1.3/migrate_perms_to_mode.py +++ b/tools/upgrade/1.3/migrate_perms_to_mode.py @@ -3,13 +3,15 @@ import lxml.etree import os import sys - +from fnmatch import fnmatch +from Bcfg2.Compat import any # pylint: disable=W0622 +from Bcfg2.Server.FileMonitor import FileMonitor import Bcfg2.Options def setmodeattr(elem): """Set the mode attribute for a given element.""" - if elem.attrib.has_key('perms'): + if 'perms' in elem.attrib: elem.set('mode', elem.get('perms')) del elem.attrib['perms'] return True @@ -53,10 +55,16 @@ def convertstructure(structfile): writefile(structfile, xdata) +def skip_path(path): + return any(fnmatch(path, p) or fnmatch(os.path.basename(path), p) + for p in Bcfg2.Options.setup.ignore_files) + + def main(): parser = Bcfg2.Options.get_parser( description="Migrate from Bcfg2 1.2 'perms' attribute to 1.3 'mode' " - "attribute") + "attribute", + components=FileMonitor) parser.add_options([Bcfg2.Options.Common.repository, Bcfg2.Options.Common.plugins]) parser.parse() @@ -65,11 +73,17 @@ def main(): for plugin in Bcfg2.Options.setup.plugins: if plugin in ['Base', 'Bundler', 'Rules']: for root, _, files in os.walk(os.path.join(repo, plugin)): + if skip_path(root): + continue for fname in files: + if skip_path(fname): + continue convertstructure(os.path.join(root, fname)) if plugin not in ['Cfg', 'TGenshi', 'TCheetah', 'SSHbase', 'SSLCA']: continue for root, dirs, files in os.walk(os.path.join(repo, plugin)): + if skip_path(root): + continue for fname in files: if fname == 'info.xml': convertinfo(os.path.join(root, fname)) |