3
def find_us_callsigns(string):
4
extra2x1 = "[aAkKnNwW][A-z][0-9][A-z]"
5
others = "[aAkKnNwW][A-z]?[0-9][A-z]{2,3}"
7
regex = "\\b(%s|%s)\\b" % (extra2x1, others)
9
return re.findall(regex, string)
11
def find_au_callsigns(string):
12
regex = '\\b[Vv][Kk][0-9][Ff]?[A-z]{2,3}'
14
return re.findall(regex, string)
16
def find_ca_callsigns(string):
17
regex = '[Vv][EeAa][0-9][A-z]{2,3}'
19
return re.findall(regex, string)
21
callsign_functions = {
22
"US" : find_us_callsigns,
23
"Australia" : find_au_callsigns,
24
"Canada" : find_ca_callsigns,
27
def find_callsigns(config, string):
30
cs = eval(config.get("prefs", "callsigns"))
31
enabled = [y for x,y in cs if x]
33
for t in callsign_functions.keys():
34
if callsign_functions.has_key(t) and t in enabled:
35
list += callsign_functions[t](string)