[Checkins] SVN: zope.repositorypolicy/trunk/src/zope/repositorypolicy/ Check and fix that license comment in file headers says version 2.1 of ZPL

Gediminas Paulauskas menesis at pov.lt
Thu Dec 23 10:57:56 EST 2010


Log message for revision 119069:
  Check and fix that license comment in file headers says version 2.1 of ZPL
  

Changed:
  U   zope.repositorypolicy/trunk/src/zope/repositorypolicy/copyright.py
  U   zope.repositorypolicy/trunk/src/zope/repositorypolicy/project.py

-=-
Modified: zope.repositorypolicy/trunk/src/zope/repositorypolicy/copyright.py
===================================================================
--- zope.repositorypolicy/trunk/src/zope/repositorypolicy/copyright.py	2010-12-23 01:27:24 UTC (rev 119068)
+++ zope.repositorypolicy/trunk/src/zope/repositorypolicy/copyright.py	2010-12-23 15:57:55 UTC (rev 119069)
@@ -11,6 +11,7 @@
     """A simple helper to fix source file copyright headers."""
 
     owner = zope.repositorypolicy.project.Checker.copyright_holder
+    license_version = zope.repositorypolicy.project.Checker.license_version
 
     def __init__(self, working_dir):
         self.working_dir = os.path.abspath(working_dir)
@@ -40,6 +41,13 @@
                 if new_line != line:
                     line = new_line
                     needs_fixing = True
+            m = zope.repositorypolicy.project.LICENSE_PATTERN.match(line)
+            if m is not None:
+                if m.group('version') != self.license_version:
+                    new_line = line.replace(m.group('version'),
+                                            self.license_version)
+                    line = new_line
+                    needs_fixing = True
             output.write(line)
 
         if needs_fixing:

Modified: zope.repositorypolicy/trunk/src/zope/repositorypolicy/project.py
===================================================================
--- zope.repositorypolicy/trunk/src/zope/repositorypolicy/project.py	2010-12-23 01:27:24 UTC (rev 119068)
+++ zope.repositorypolicy/trunk/src/zope/repositorypolicy/project.py	2010-12-23 15:57:55 UTC (rev 119069)
@@ -12,7 +12,10 @@
     '^(?P<lead>.*)Copyright \\(c\\) '
     '(?P<periods>[0-9\-, ]+) (?P<owner>.*?)(?P<tail>\W*)$')
 
+LICENSE_PATTERN = re.compile(
+    '^(?P<lead>.*)Version (?P<version>.*) \(ZPL\)\.')
 
+
 def walk_project_dir(root, callback):
     def visit(args, dirname, names):
         for name in list(names):
@@ -37,6 +40,7 @@
 
     data_dir = os.path.join(os.path.dirname(__file__), 'data')
     license_name = 'ZPL'
+    license_version = '2.1'
     copyright_holder = 'Zope Foundation and Contributors'
 
     def __init__(self, working_dir):
@@ -104,6 +108,7 @@
             - the file COPYRIGHT.txt exists and has correct content
             - all copyright statements that can be found refer to the Zope
               foundation
+            - all license comments refer to the most recent version of ZPL
 
         """
         copyright = os.path.join(self.working_dir, 'COPYRIGHT.txt')
@@ -120,12 +125,18 @@
     def _check_copyright_file(self, filename):
         for i, line in enumerate(open(filename)):
             m = COPYRIGHT_PATTERN.match(line)
-            if m is None:
+            if m is not None:
+                if m.group('owner') != self.copyright_holder:
+                    self.log.append('%s:%i: incorrect copyright holder: %s' % (
+                        filename.replace(self.working_dir + '/', ''), i + 1,
+                        m.group('owner')))
                 continue
-            if m.group('owner') != self.copyright_holder:
-                self.log.append('%s:%i: incorrect copyright holder: %s' % (
+            m = LICENSE_PATTERN.match(line)
+            if m is not None:
+                if m.group('version') != self.license_version:
+                    self.log.append('%s:%i: incorrect ZPL version: %s' % (
                     filename.replace(self.working_dir + '/', ''), i + 1,
-                    m.group('owner')))
+                    m.group('version')))
 
 
 def main():



More information about the checkins mailing list