giovedì 10 novembre 2011

un semplice property manager in python

Non vedendo la necessità di installare framework complessi per utilizzare solo poche funzionalità ho scritto una classe che funga da property manager per i miei script python.
Incollo il codice sotto, di seguito una breve spiegazione sul funzionamento:

import string

import os



class PropertyManager:

    

    _propertyDict = dict()

    

    def __init__(self, filename):

        dir=os.path.dirname(__file__)

        fpath=dir+"""/"""+filename

        fp = open(fpath,'r')

        splitLines = [string.split(line, '=') for line in fp.readlines() if "=" in line]

        propertyNames = [tup[0] for tup in splitLines]

        propertyList = map(lambda x: x[1].strip(), splitLines)

        self._propertyDict = dict([(propertyNames[i],propertyList[i]) for i in range(len(splitLines))])

  

    def getValue(self, key):

        return self._propertyDict[key]


A questo punto basta costruire la classe passando il path del file che si desidera utilizzare, ad esempio: pmanager = PropertyManager('''app.properties''').
Il file di properties dovrà contenere entries del tipo: chiave=valore, tutte le altre righe saranno scartate.
Niente di mirabolante, ma sicuramente molto utile e snello.

Nessun commento:

Posta un commento