From b0877561d20cdb7a21c5761428d9643e89f53773 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 22 May 2013 11:30:20 -0400 Subject: tools: make migrate_info.py migrate "perms" (http://trac.mcs.anl.gov/projects/bcfg2/ticket/1150) --- src/lib/Bcfg2/Server/Plugin/helpers.py | 18 +++++++++--------- tools/upgrade/1.3/migrate_info.py | 6 +++++- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/lib/Bcfg2/Server/Plugin/helpers.py b/src/lib/Bcfg2/Server/Plugin/helpers.py index b14968d77..81dc1d736 100644 --- a/src/lib/Bcfg2/Server/Plugin/helpers.py +++ b/src/lib/Bcfg2/Server/Plugin/helpers.py @@ -41,15 +41,15 @@ del DEFAULT_FILE_METADATA['configfile'] LOGGER = logging.getLogger(__name__) #: a compiled regular expression for parsing info and :info files -INFO_REGEX = re.compile(r'owner:(\s)*(?P\S+)|' + - r'group:(\s)*(?P\S+)|' + - r'mode:(\s)*(?P\w+)|' + - r'secontext:(\s)*(?P\S+)|' + - r'paranoid:(\s)*(?P\S+)|' + - r'sensitive:(\s)*(?P\S+)|' + - r'encoding:(\s)*(?P\S+)|' + - r'important:(\s)*(?P\S+)|' + - r'mtime:(\s)*(?P\w+)|') +INFO_REGEX = re.compile(r'owner:\s*(?P\S+)|' + + r'group:\s*(?P\S+)|' + + r'mode:\s*(?P\w+)|' + + r'secontext:\s*(?P\S+)|' + + r'paranoid:\s*(?P\S+)|' + + r'sensitive:\s*(?P\S+)|' + + r'encoding:\s*(?P\S+)|' + + r'important:\s*(?P\S+)|' + + r'mtime:\s*(?P\w+)') def bind_info(entry, metadata, infoxml=None, default=DEFAULT_FILE_METADATA): diff --git a/tools/upgrade/1.3/migrate_info.py b/tools/upgrade/1.3/migrate_info.py index e72599daf..3ccbf0285 100755 --- a/tools/upgrade/1.3/migrate_info.py +++ b/tools/upgrade/1.3/migrate_info.py @@ -1,12 +1,16 @@ #!/usr/bin/env python import os +import re import sys import lxml.etree import Bcfg2.Options from Bcfg2.Server.Plugin import INFO_REGEX +PERMS_REGEX = re.compile(r'perms:\s*(?P\w+)') + + def convert(info_file): info_xml = os.path.join(os.path.dirname(info_file), "info.xml") if os.path.exists(info_xml): @@ -16,7 +20,7 @@ def convert(info_file): fileinfo = lxml.etree.Element("FileInfo") info = lxml.etree.SubElement(fileinfo, "Info") for line in open(info_file).readlines(): - match = INFO_REGEX.match(line) + match = INFO_REGEX.match(line) or PERMS_REGEX.match(line) if match: mgd = match.groupdict() for key, value in list(mgd.items()): -- cgit v1.2.3-1-g7c22