コード例 #1
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def delDirs(self, dirs):
        """
		Delete Directories

		@param dirs: directories to be created
		@type dirs: List of str
		"""
        self.__delActualDirs(dirs)
        Tagging.delTagsFromElements(self, dirs)
コード例 #2
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def delDirs(self, dirs):
		"""
		Delete Directories

		@param dirs: directories to be created
		@type dirs: List of str
		"""
		self.__delActualDirs(dirs)
		Tagging.delTagsFromElements(self, dirs)
コード例 #3
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def delFiles(self, files, dirs=[]):
		"""
		Delete files

		@param files: List of files to be used
		@type files: List of instances of L{TagFile}
		"""

		Tagging.delElementsFromTags(self, files, tagList=dirs)
コード例 #4
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def delFiles(self, files, dirs=[]):
        """
		Delete files

		@param files: List of files to be used
		@type files: List of instances of L{TagFile}
		"""

        Tagging.delElementsFromTags(self, files, tagList=dirs)
コード例 #5
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def renameDir(self, dirs1, dirs2):
        """
		Rename directories
		"""

        fileList = Tagging.getElements(self, tagList=dirs1)
        Tagging.delTagsFromElements(self, dirs1, elementList=fileList)
        Tagging.addTags(self, elementList=fileList, newTagList=dirs2)

        if [dirs1[-1] != dirs2[-1]]:
            self.__renameActualDir(dirs1[-1], dirs2[-1])
コード例 #6
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def renameDir(self, dirs1, dirs2):
		"""
		Rename directories
		"""
		
		fileList = Tagging.getElements(self, tagList=dirs1)
		Tagging.delTagsFromElements(self, dirs1, elementList=fileList)
		Tagging.addTags(self, elementList=fileList, newTagList=dirs2)

		if [dirs1[-1] != dirs2[-1]]:
			self.__renameActualDir(dirs1[-1], dirs2[-1])
コード例 #7
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def createDirs(self, dirs, mode=DEFAULT_DIR_MODE):
		"""
		Create Directories

		@param dirs: directories to be created
		@type dirs: List of str

		@param mode: Mode with which the directories are to be created, if required
		@type mode: int
		"""
		self.__createActualDirs(dirs, mode)
		Tagging.addTags(self, newTagList=dirs)
コード例 #8
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def createDirs(self, dirs, mode=DEFAULT_DIR_MODE):
        """
		Create Directories

		@param dirs: directories to be created
		@type dirs: List of str

		@param mode: Mode with which the directories are to be created, if required
		@type mode: int
		"""
        self.__createActualDirs(dirs, mode)
        Tagging.addTags(self, newTagList=dirs)
コード例 #9
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def delFilesFromDirs(self, files, dirs):
        """
		Delete files from directories

		@param files: List of files to be used
		@type files: List of instances of L{TagFile}

		@param dirs: List of directories
		@type dirs: List of str
		"""

        self.__delActualDirs(dirs)
        Tagging.delTagsFromElements(self, dirs, files)
コード例 #10
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def delFilesFromDirs(self, files, dirs):
		"""
		Delete files from directories

		@param files: List of files to be used
		@type files: List of instances of L{TagFile}

		@param dirs: List of directories
		@type dirs: List of str
		"""

		self.__delActualDirs(dirs)
		Tagging.delTagsFromElements(self, dirs, files)
コード例 #11
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def addDirsToFiles(self, fileList, dirList, mode=DEFAULT_DIR_MODE):
        """
		Associates the specified directories to the specified files

		@param fileList: List of files to be used
		@type fileList: List of instances of L{TagFile}

		@param dirList: List of directories
		@type dirList: List of str

		@param mode: Mode with which the directories are to be created, if required
		@type mode: int
		"""
        self.__createActualDirs(dirList, mode)
        Tagging.addTags(self, fileList, dirList)
コード例 #12
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def addDirsToFiles(self, fileList, dirList, mode=DEFAULT_DIR_MODE):
		"""
		Associates the specified directories to the specified files

		@param fileList: List of files to be used
		@type fileList: List of instances of L{TagFile}

		@param dirList: List of directories
		@type dirList: List of str

		@param mode: Mode with which the directories are to be created, if required
		@type mode: int
		"""
		self.__createActualDirs(dirList, mode)
		Tagging.addTags(self, fileList, dirList)
コード例 #13
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def getActualLocation(self, dirs, filename):
		filesInDir = Tagging.getElements(self, dirs)
		matchingFiles = [x for x in filesInDir if x.name == filename]
		if len(matchingFiles) == 0:
			return None
		else:
			return matchingFiles[0].location
コード例 #14
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def getDirsAndFilesForDirs(self, dirList, beRestrictive=False, getCover=False):
		"""
		Get files contained in all the directories specified in dirList. Also get list of other directories which contain ANY of these files

		@param dirList: List of directories to be used
		@type dirList: List of str

		@param beRestrictive: Only return those directories which are NOT associated with ALL the files
			with which the given list of directories is associated.

			The philosophy behind this is, having already got a set of files associated
			with the given set of directories, it would be useful to find directories that would restrict
			the set set of directories further. This helps in creating an hierarchy of directories.

			Defaults to False

		@type beRestrictive: bool

		@param getCover: Get a set of directories which between them contain all the files that are contianed
			within the given set of directories.

			This helps particularly when there are large number of tags in the system. Instead of
			looking at 100s of directories it would be helpful to look at only those directories which cover all
			currently selected files.

			Defaults to False

		@type getCover: bool

		@return: A tuple of list of directories and list of files
		@rtype: (List of str, List of instances of L{TagFile})
		"""

		return Tagging.getTagsAndElementsForTags(self, dirList, beRestrictive, getCover)
コード例 #15
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
 def getActualLocation(self, dirs, filename):
     filesInDir = Tagging.getElements(self, dirs)
     matchingFiles = [x for x in filesInDir if x.name == filename]
     if len(matchingFiles) == 0:
         return None
     else:
         return matchingFiles[0].location
コード例 #16
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def getAllDirs(self):
		"""
		Get a list of all directories

		@return: List of all directories
		@rtype: List of str
		"""

		return Tagging.getTagsForTags(self, tagList = [])
コード例 #17
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def getAllDirs(self):
        """
		Get a list of all directories

		@return: List of all directories
		@rtype: List of str
		"""

        return Tagging.getTagsForTags(self, tagList=[])
コード例 #18
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def getFilesForDirs(self, dirList):
        """
		Get a list of files which are contained in all of the given directories

		@param dirList: Directories for which to get files
		@type dirList: List of str

		@return: List of files
		@rtype: List of instances of L{TagFile}
		"""
        return Tagging.getElements(self, dirList)
コード例 #19
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def getFilesForDirs(self, dirList):
		"""
		Get a list of files which are contained in all of the given directories

		@param dirList: Directories for which to get files
		@type dirList: List of str

		@return: List of files
		@rtype: List of instances of L{TagFile}
		"""
		return Tagging.getElements(self, dirList)
コード例 #20
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def getDirsForDirs(self, dirList):
		"""
		Get directories which contain the files contained in the given directories

		@param dirList: List of directories to be used
		@type dirList: List of str

		@return: List of all directories
		@rtype: List of str
		"""

		return Tagging.getTagsForTags(self, dirList)
コード例 #21
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def getDirsForDirs(self, dirList):
        """
		Get directories which contain the files contained in the given directories

		@param dirList: List of directories to be used
		@type dirList: List of str

		@return: List of all directories
		@rtype: List of str
		"""

        return Tagging.getTagsForTags(self, dirList)
コード例 #22
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def getDirsForFiles(self, files):
        """
		Get directories which contain the given files

		@param files: List of files to be used
		@type files: List of instances of L{TagFile}

		@return: List of all directories
		@rtype: List of str
		"""

        return Tagging.getTagsForElements(self, files)
コード例 #23
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def getDirsForFiles(self, files):
		"""
		Get directories which contain the given files

		@param files: List of files to be used
		@type files: List of instances of L{TagFile}

		@return: List of all directories
		@rtype: List of str
		"""

		return Tagging.getTagsForElements(self, files)
コード例 #24
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
    def getDirsAndFilesForDirs(self,
                               dirList,
                               beRestrictive=False,
                               getCover=False):
        """
		Get files contained in all the directories specified in dirList. Also get list of other directories which contain ANY of these files

		@param dirList: List of directories to be used
		@type dirList: List of str

		@param beRestrictive: Only return those directories which are NOT associated with ALL the files
			with which the given list of directories is associated.

			The philosophy behind this is, having already got a set of files associated
			with the given set of directories, it would be useful to find directories that would restrict
			the set set of directories further. This helps in creating an hierarchy of directories.

			Defaults to False

		@type beRestrictive: bool

		@param getCover: Get a set of directories which between them contain all the files that are contianed
			within the given set of directories.

			This helps particularly when there are large number of tags in the system. Instead of
			looking at 100s of directories it would be helpful to look at only those directories which cover all
			currently selected files.

			Defaults to False

		@type getCover: bool

		@return: A tuple of list of directories and list of files
		@rtype: (List of str, List of instances of L{TagFile})
		"""

        return Tagging.getTagsAndElementsForTags(self, dirList, beRestrictive,
                                                 getCover)
コード例 #25
0
ファイル: TagHelper.py プロジェクト: pulinagrawal/dhtfs
 def __str__(self):
     return 'Directory helper for ' + Tagging.__str__(self)
コード例 #26
0
ファイル: TagHelper.py プロジェクト: mtboswell/dhtfs
	def __str__(self):
		return 'Directory helper for ' + Tagging.__str__(self)