"Fossies" - the Fresh Open Source Software Archive

Member "svnchecker-0.3/checks/CaseInsensitiveFilenameClash.py" (12 Mar 2008, 1258 Bytes) of package /linux/privat/old/svnchecker-0.3.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. For more information about "CaseInsensitiveFilenameClash.py" see the Fossies "Dox" file reference documentation.

    1 # Copyright 2008 German Aerospace Center (DLR)
    2 #
    3 # Licensed under the Apache License, Version 2.0 (the "License");
    4 # you may not use this file except in compliance with the License.
    5 # You may obtain a copy of the License at
    6 #
    7 #     http://www.apache.org/licenses/LICENSE-2.0
    8 #
    9 # Unless required by applicable law or agreed to in writing, software
   10 # distributed under the License is distributed on an "AS IS" BASIS,
   11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12 # See the License for the specific language governing permissions and
   13 # limitations under the License.
   14 
   15 """ 
   16 This check tests if a file with the same filename (ignoring the case) already exists in the repository.
   17 """
   18 
   19 def run(transaction, config):
   20 
   21     check = config.getArray("CaseInsensitiveFilenameClash.CheckFiles", [".*"])
   22     ignore = config.getArray("CaseInsensitiveFilenameClash.IgnoreFiles", [])
   23     files = transaction.getFiles(check, ignore)
   24 
   25     msg = ""
   26     for filename, attribute in files.iteritems():
   27         if attribute in ["A"] :
   28             if transaction.fileExists(filename, ignoreCase=True):
   29                 msg += "A file with the same name already exists: %r\n" % filename
   30 
   31     if msg:
   32         return (msg, 1)
   33     else:
   34         return ("", 0)