コード例 #1
0
 def subdir(self):
     subdir = self.store.subdir
     if subdir != None:
         subdir = fileutils.str2path(subdir)
         subdir = fileutils.ensureRelDirPath(subdir)
         return fileutils.cleanupPath(subdir)
     subdir = fileutils.str2filename(self.store.name)
     return fileutils.ensureDirPath(subdir)
コード例 #2
0
 def _getDir(self, custData, profData, kind="incoming"):
     middle, attr = {"incoming": ("incoming", "inputDir"),
                     "outgoing": ("outgoing", "outputDir"),
                     "links": ("links", "linkDir"),
                     "errors": ("failed", "errorDir")}[kind]
     if getattr(profData, attr):
         return getattr(profData, attr)
     if getattr(custData, attr):
         result = getattr(custData, attr)
     elif custData.subdir:
         result = custData.subdir
     else:
         result = fileutils.str2filename(custData.name)
     result = fileutils.ensureRelDirPath(result)
     result = "%sfiles/%s/" % (result, middle)
     if profData.subdir:
         result = result + profData.subdir
     else:
         result = result + fileutils.str2filename(profData.name)
     return fileutils.cleanupPath(result)
コード例 #3
0
 def _resolveMultiInputHack(self, custData, lastProfData, newProfData):
     self.info("Trying to upgrade multi-input hack for customer '%s' profiles '%s' and '%s'",
               custData.name, lastProfData.name, newProfData.name)
     newSubdir = newProfData.subdir or fileutils.str2filename(newProfData.name)
     lastSubdir = lastProfData.subdir or fileutils.str2filename(lastProfData.name)
     if newSubdir == '.':
         newName = fileutils.str2filename(newProfData.name)
         newInputDir = self._getDir(custData, newProfData) + newName + "/"
         newProfData.inputDir = newInputDir
     else:
         if newSubdir == lastSubdir:
             newSubdir = newSubdir + "2"
             newProfData.subdir = newSubdir
         newInputDir = self._getDir(custData, newProfData)
     lastProfData.doneDir = newInputDir
     if lastProfData.subdir == '.':
         lastSubdir = fileutils.str2filename(lastProfData.name)
         lastInputDir = self._getDir(custData, lastProfData) + lastSubdir + "/"
         lastProfData.inputDir = lastInputDir
     period = min(lastProfData.monitoringPeriod, newProfData.monitoringPeriod)
     lastProfData.monitoringPeriod, newProfData.monitoringPeriod = period, period
コード例 #4
0
 def _guessOverridenDir(self, dir, custData, profData):
     for middle, new in [('incoming', 'incoming'),
                         ('outgoing', 'outgoing'),
                         ('errors', 'failed'),
                         ('links', 'links'),
                         ('thumbnails', 'thumbnails')]:
         try:
             i = dir.index(middle)
             p1 = dir[:i].strip('/')
             p2 = dir[i + len(middle):].strip('/')
             # Check to reorder profiles directories
             custSubdir = custData.subdir or fileutils.str2filename(custData.name)
             profSubdir = profData.subdir or fileutils.str2filename(profData.name)
             if p1 == (custSubdir + '/' + profSubdir):
                 result =  custSubdir + "/files/" + new + "/" + profSubdir + '/' + p2
             else:
                 result =  p1 + "/files/" + new + "/" + p2
             result = fileutils.ensureDirPath(result)
             result = fileutils.cleanupPath(result)
             return result
         except ValueError:
             pass
     return dir