39 lines
1.3 KiB
Groovy
Executable File
39 lines
1.3 KiB
Groovy
Executable File
/** AUDIO (ejecución) **/
|
|
def bloqueAudio=''
|
|
def audiosMap = [:]
|
|
for (aud in audio) {
|
|
def shortDesc = aud.Language_String3 !=null ? aud.Language_String3
|
|
: aud.Title!=null ? (aud.Title=~/(?i).+spa.+/?'spa': aud.Title.substring(0,3).toLowerCase()) : 'und'
|
|
if (aud.Title!=null && aud.Title=~/(?i).*latin.*/) shortDesc='lat'
|
|
audiosMap[shortDesc] = audiosMap[shortDesc] ?: [:]
|
|
audiosMap[shortDesc][aud.Format] = audiosMap[shortDesc][aud.Format] ?: []
|
|
audiosMap[shortDesc][aud.Format] << aud
|
|
}
|
|
def groupedAudiosMap = [:]
|
|
for (audioElms in audiosMap) {
|
|
def k = audioElms.key
|
|
def v = audioElms.value
|
|
if (!k.contains('+') && countAudiosInMap(v)>1) k += '+'
|
|
def mQ = getMaxQuality(v)
|
|
def mQstr = (mQ==null || mQ.isEmpty()) ? 'und' : printAudio(mQ)
|
|
if (groupedAudiosMap.containsKey(mQstr)) groupedAudiosMap[mQstr].add(k)
|
|
else groupedAudiosMap[mQstr] = [k]
|
|
}
|
|
audiosMap=null
|
|
def temp=''
|
|
for (audioGroup in groupedAudiosMap) {
|
|
def k = audioGroup.key
|
|
def v = audioGroup.value
|
|
def gS = v.size()
|
|
def str=''
|
|
for (int i=0; i<gS; i++) {
|
|
str += (v[i]!=null?v[i]:'und') +', '
|
|
if (i==gS-1) {
|
|
str = removeLastComa(str)+' '
|
|
str += k+', '
|
|
}
|
|
}
|
|
bloqueAudio += str
|
|
}
|
|
groupedAudiosMap=null
|
|
bloqueAudio = '['+removeLastComa(bloqueAudio)+']' |