Пример #1
0
 def system_rename(old, new):
     CreatesList = GetDependsCreates()[1]
     if (IsntProtected(old)
             or any([PathAlong(old, r)
                     for r in CreatesList])) and (IsntProtected(new) or any(
                         [PathAlong(new, r) for r in CreatesList])):
         old_rename(old, new)
     else:
         raise BadCheckError(funcname(), None, [old, new], [], CreatesList)
Пример #2
0
 def system_makedirs2(DirName, mode=0777):
     CreatesList = GetDependsCreates()[1]
     if IsntProtected(DirName) or any([
             PathAlong(DirName, r) or PathAlong(r, DirName)
             for r in CreatesList
     ]):
         old_makedirs2(DirName, mode)
     else:
         raise BadCheckError(funcname(), None, DirName, [], CreatesList)
Пример #3
0
 def system_copytree(tocopy, destination, symlinks=False):
     [DependencyList, CreatesList] = GetDependsCreates()
     Check = (IsntProtected(tocopy) or any([
         PathAlong(tocopy, r) for r in DependencyList + CreatesList
     ])) and (IsntProtected(destination)
              or any([PathAlong(destination, r) for r in CreatesList]))
     if Check:
         old_copytree(tocopy, destination, symlinks=symlinks)
     else:
         raise BadCheckError(funcname(), tocopy, destination,
                             DependencyList, CreatesList)
Пример #4
0
 def system_open(ToOpen, Mode='r', bufsize=1):
     [DependencyList, CreatesList] = GetDependsCreates()
     if IsntProtected(ToOpen) or any(
         [PathAlong(ToOpen, r)
          for r in CreatesList]) if ('w' in Mode or 'a' in Mode) else any(
              [PathAlong(ToOpen, r) for r in CreatesList + DependencyList]):
         return old_open(ToOpen, Mode, bufsize)
     else:
         print funcname(), caller(3), ToOpen if (
             'w' in Mode
             or 'a' in Mode) else None, DependencyList, CreatesList
         raise BadCheckError(
             funcname(), ToOpen if 'r' in Mode else None, ToOpen if
             ('w' in Mode or 'a' in Mode) else None, DependencyList,
             CreatesList)
Пример #5
0
def IsntProtected(r):
    '''
    If the environment variable "PROTECTION" is set to "ON"
    (see comments in i/o GetDependsCreates), this function looks 
    to see whether an environment variable called "ProtectedPathsListFile'
    has been set. This is a path to a user configuration file which would list, 
    in lines, the list of directories on which the user wishes i/o protection 
    to be enforced.   If no such path variable is set, the system looks uses 
    DataEnvironmentDirectory as the default, e.g everything in the 
    DataEnvironment would be protected if the PROTECTION variable
    is set at 'ON'.
    '''
    env = os.environ
    if isinstance(r, str) and len(r) > 0:
        if r[0] != '/':
            r = normpath(getcwd() + '/' + r)

        if 'ProtectedPathsListFile' in env.keys():
            ProtList = [
                x for x in open(env['ProtectedPathsListFile'], 'r').split('\n')
                if not x.strip(' ').startswith('#')
            ]
        else:
            ProtList = [WORKING_DE.root_dir]

        return not any([PathAlong(r, x) for x in ProtList])
    else:
        return False
Пример #6
0
 def system_rmtree(ToDelete, ignore_errors=False, onerror=None):
     CreatesList = GetDependsCreates()[1]
     if IsntProtected(ToDelete) or any(
         [PathAlong(ToDelete, r) for r in CreatesList]):
         old_rmtree(ToDelete, ignore_errors=ignore_errors, onerror=onerror)
     else:
         raise BadCheckError(funcname(), None, ToDelete, [], CreatesList)
Пример #7
0
 def system_remove(ToDelete):
     CreatesList = GetDependsCreates()[1]
     if IsntProtected(ToDelete) or any(
         [PathAlong(ToDelete, r) for r in CreatesList]):
         old_remove(ToDelete)
     else:
         raise BadCheckError(funcname(), None, ToDelete, [], CreatesList)
Пример #8
0
 def system_mkdir(DirName, mode=0777):
     CreatesList = GetDependsCreates()[1]
     if IsntProtected(DirName) or sum(
         [PathAlong(DirName, r) for r in CreatesList]) > 0:
         old_mkdir(DirName, mode)
     else:
         raise BadCheckError(funcname(), None, DirName, [], CreatesList)
Пример #9
0
 def system_getatime(ToAssay):
     [DependencyList, CreatesList] = GetDependsCreates()
     if IsntProtected(ToAssay) or any(
         [PathAlong(ToAssay, r) for r in DependencyList + CreatesList]):
         return old_atime(ToAssay)
     else:
         BadCheckError(funcname(), ToAssay, None,
                       DependencyList + CreatesList, None)
Пример #10
0
 def system_isdir(ToCheck):
     [DependencyList, CreatesList] = GetDependsCreates()
     if IsntProtected(ToCheck) or any(
         [PathAlong(ToCheck, r) for r in DependencyList + CreatesList]):
         return old_isdir(ToCheck)
     else:
         BadCheckError(funcname(), ToCheck, None,
                       DependencyList + CreatesList, None)