def index(request): """ Contains explanatory text. Nothing needs to be loaded. """ if "asciif" in request.GET and request.GET["asciif"] == "asciif": keys = ASCIIKEYS asciiselect = True else: keys = UNIKEYS asciiselect = False if "key" in request.GET: key = request.GET["key"] if key not in keys: if key in MAPKEYS.keys(): key = MAPKEYS[key] else: # Someone's been playing silly buggers with the GET request. key = "C" # So we return C as simple. else: key = "C" if "scales" in request.GET: chosenscale = request.GET["scales"] if chosenscale not in SCALE_ARRAY: if chosenscale in MAPSCALES.keys(): chosenscale = MAPSCALES[chosenscale] else: # Again, enemy action from the GET request. chosenscale = "Major" else: chosenscale = "Major" scaletable = populate_scale_chords(chosenscale, key, CHORDTYPE_ARRAY) if asciiselect: scales = sorted([un_unicode_accdtls(i) for i in SCALE_ARRAY]) chosenscale = un_unicode_accdtls(chosenscale) else: scales = sorted(SCALE_ARRAY) c = RequestContext( request, { "keys": keys, "chosenkey": key, "asciiselect": asciiselect, "scaletable": scaletable, "scales": scales, "chosenscale": chosenscale }) return TemplateResponse(request, 'chordgenerator/chordgenerator.html', context=c)
def index(request): """ Contains explanatory text. Nothing needs to be loaded. """ if "asciif" in request.GET and request.GET["asciif"] == "asciif": keys = ASCIIKEYS asciiselect = True; else: keys = UNIKEYS; asciiselect = False; if "key" in request.GET: key = request.GET["key"] if key not in keys: if key in MAPKEYS.keys(): key = MAPKEYS[key]; else: # Someone's been playing silly buggers with the GET request. key = "C"; # So we return C as simple. else: key = "C"; if "scales" in request.GET: chosenscale = request.GET["scales"] if chosenscale not in SCALE_ARRAY: if chosenscale in MAPSCALES.keys(): chosenscale = MAPSCALES[chosenscale]; else: # Again, enemy action from the GET request. chosenscale = "Major"; else: chosenscale = "Major" scaletable = populate_scale_chords(chosenscale, key, CHORDTYPE_ARRAY) if asciiselect: scales = sorted([un_unicode_accdtls(i) for i in SCALE_ARRAY]); chosenscale = un_unicode_accdtls(chosenscale); else: scales = sorted(SCALE_ARRAY); c = {"keys": keys, "chosenkey": key, "asciiselect":asciiselect, "scaletable":scaletable, "scales":scales, "chosenscale":chosenscale} return render(request, 'chordgenerator/chordgenerator.html', c)
def chordtabletag(value, arg = False): ''' Takes an argument (value) that is assumed to be of type scale_chords. The function is really a wrapper around chordgentable. The arg argument indicates whether it is ASCII-only (True) or Unicode (False). ''' output = chordgentableneu([value]); try: # Any exception - any at all - returns an empty string. output = chordgentableneu([value]); if arg: output = un_unicode_accdtls(output); return mark_safe(output); # And if it all turns to shit... except: return "";
def chordtabletag(value, arg=False): ''' Takes an argument (value) that is assumed to be of type scale_chords. The function is really a wrapper around chordgentable. The arg argument indicates whether it is ASCII-only (True) or Unicode (False). ''' output = chordgentableneu([value]) try: # Any exception - any at all - returns an empty string. output = chordgentableneu([value]) if arg: output = un_unicode_accdtls(output) return mark_safe(output) # And if it all turns to shit... except: return ""