samedi 1 août 2015

How to make this function better in python?

This is my first question here in this forum so please treat my kindly :) I am a beginner in python. How can i make this horrible function easy to use? It should be good to have all of the searchlines in a file or so. It is importent that they are in this order. Can i use while or?

def findlarm(text):
    """
    Lookijng for a lable to put on map
    :param text:
    :return:

    """
    if text.lower().find('brand i byggnad industri') >= 0:
        label = 'Brand i byggnad industri'
    elif text.lower().encode('utf8').find('trafikolycka påkörd person') >= 0:
        label = 'Trafikolycka påkörd person'
    elif text.lower().find('trafikolycka') >= 0:
        label = 'Trafikolycka'
    elif text.lower().find('brand i byggnad') >= 0:
        label = 'Brand i byggnad'
    elif text.lower().encode('utf8').find('röklukt') >= 0:
        label = 'Röklukt'
    elif text.lower().encode('utf8').find('Brand ute - terräng Gräsbrand') >= 0:
        label = 'Gräsbrand'
    elif text.lower().encode('utf8').find('Utsläpp farligt ämne') >= 0:
        label = 'Utsläpp farligt ämne'
    elif text.lower().encode('utf8').find('brand ute - övrigt') >= 0:
        label = 'Brand ute - övrigt'
    elif text.lower().encode('utf8').find('sjukvårdslarm') >= 0:
        label = 'Sjukvårdslarm'
    elif text.lower().encode('utf8').find('passning') >= 0:
        label = 'Passning station'
    elif text.lower().find('annat') >= 0:
        label = 'Annat larm'
    elif text.lower().find('skogsbrand') >= 0:
        label = 'Skogsbrand'
    elif text.lower().find('drunkning') >= 0:
        label = 'Drunkning'
    elif text.lower().find('fartyg') >= 0:
        label = 'Fartyg/Båtolycka'
    elif text.lower().find('ivpa') >= 0:
        label = 'IVPA'
    elif text.lower().find('automatiskt brandlarm') >= 0:
        label = 'Aut Brandlarm'
    elif text.lower().find('sjukdomsfall') >= 0:
        label = 'Sjukdomsfall'
    elif text.lower().find('brand') >= 0:
        label = 'Brand'
    elif text.lower().find('trauma') >= 0:
        label = 'Trauma'
    elif text.lower().encode('utf8').find('Järnväg - påkörd person') >= 0:
        label = 'Järnväg - påkörd person'
    elif text.lower().encode('utf8').find('övrigt ambulansassistans') >= 0:
        label = 'Ambulansassistans'
    else:
        label = 'Okänt larm'
    return label

Stefan

Aucun commentaire:

Enregistrer un commentaire