コード例 #1
0
def getTitleAndSuffixWithCompressionSuffixesRemoved(gSuiteTrack):
    gSuiteReq = GSuiteRequirements(
        allowedLocations=[LOCAL, REMOTE],
        allowedFileFormats=[PREPROCESSED, PRIMARY, UNKNOWN])
    gSuiteReq.check(gSuiteTrack)

    title, suffix, path = gSuiteTrack.title, gSuiteTrack.suffix, gSuiteTrack.path

    if suffix:
        for compSuffix in COMPRESSION_SUFFIXES:
            reduceLen = len(compSuffix) + 1

            if suffix.lower() == compSuffix:
                if path.endswith('.' + compSuffix):
                    path = path[:-reduceLen]
                    suffix = getFileSuffix(path)
                else:
                    if isinstance(gSuiteTrack,
                                  SearchQueryForSuffixGSuiteTrack):
                        tempGSuiteTrack = GSuiteTrack(gSuiteTrack.uri.replace(
                            '.' + compSuffix, ''),
                                                      title='')
                        suffix = tempGSuiteTrack.suffix
                    else:
                        suffix = None  # Impossible to find uncompressed suffix
            elif suffix.lower().endswith('.' + compSuffix):
                suffix = suffix[:-reduceLen]  # e.g. suffix = 'bed.gz' -> 'bed'
            else:
                continue

            title = getTitleWithSuffixReplaced(title, '')
            break

    return title, suffix
コード例 #2
0
    def suffix(self):
        suffix = super(SearchQueryForSuffixGSuiteTrack, self).suffix

        if suffix is None:
            fileName = self._getFileNameFromQuery()
            if fileName:
                suffix = getFileSuffix(fileName)

        return suffix
コード例 #3
0
 def _getFileNameFromQuery(self):
     import re
     query = self._parsedUri.query
     for part in re.split('&|;', query):
         subparts = part.split('=')
         if len(subparts) == 2:
             key, val = subparts
             partSuffix = getFileSuffix(val)
             if partSuffix != '':  # Looks like a file name with suffix
                 fileName = val
                 return fileName
コード例 #4
0
    def suffix(self):
        if self._parsedUri.params != '':
            return self._parsedUri.params
        else:
            if self.path is None:
                return None

            suffix = getFileSuffix(self.path)
            if suffix == '':
                return None
            return suffix
コード例 #5
0
def renameBaseFileNameWithDuplicateIdx(baseFileName, duplicateIdx):
    if duplicateIdx == 1:
        return baseFileName
    else:
        suffixes = []
        while True:
            suffix = getFileSuffix(baseFileName)
            if suffix:
                suffixes.insert(0, suffix)
                baseFileName = baseFileName[:-len('.' + suffix)]
            else:
                break

        return baseFileName + '_%s' % duplicateIdx +\
               (('.' +'.'.join(suffixes)) if suffixes else '')
コード例 #6
0
def getTitleSuffix(title):
    return getFileSuffix(splitTitleIfDuplicate(title)[0])