Changeset 2945

Show
Ignore:
Timestamp:
06/16/06 16:25:49 (16 years ago)
Author:
jerome
Message:

Replaced the 'exec' statements with the use of the standard 'imp' module.

Location:
pykota/trunk/pykota
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/accounter.py

    r2635 r2945  
    2424 
    2525import sys 
     26import os 
     27import imp 
    2628 
    2729class PyKotaAccounterError(Exception): 
     
    9698        (backend, args) = kotafilter.config.getAccounterBackend(kotafilter.PrinterName) 
    9799    try : 
    98         exec "from pykota.accounters import %s as accounterbackend" % backend.lower() 
     100        accounterbackend = imp.load_source("accounterbackend",  
     101                                            os.path.join(os.path.dirname(__file__), 
     102                                                         "storages", 
     103                                                         "%s.py" % backend.lower())) 
    99104    except ImportError : 
    100105        raise PyKotaAccounterError, _("Unsupported accounter backend %s") % backend 
  • pykota/trunk/pykota/logger.py

    r2622 r2945  
    2323# 
    2424 
     25import os 
     26import imp 
     27 
    2528class PyKotaLoggingError(Exception): 
    2629    """An exception for logging related stuff.""" 
     
    3538    """Returns the appropriate logger subsystem object.""" 
    3639    try : 
    37         exec "from pykota.loggers import %s as loggingbackend" % backend.lower()     
     40        loggingbackend = imp.load_source("loggingbackend",  
     41                                         os.path.join(os.path.dirname(__file__), 
     42                                                      "loggers", 
     43                                                      "%s.py" % backend.lower())) 
    3844    except ImportError : 
    3945        raise PyKotaLoggingError, _("Unsupported logging subsystem %s") % backend 
  • pykota/trunk/pykota/reporter.py

    r2879 r2945  
    2323# 
    2424 
     25import os 
     26import imp 
    2527from mx import DateTime 
    2628 
     
    142144    """Returns a reporter instance of the proper reporter.""" 
    143145    try : 
    144         exec "from pykota.reporters import %s as reporterbackend" % reporttype.lower() 
     146        reporterbackend = imp.load_source("reporterbackend",  
     147                                           os.path.join(os.path.dirname(__file__), 
     148                                                        "reporters", 
     149                                                        "%s.py" % reporttype.lower())) 
    145150    except ImportError : 
    146151        raise PyKotaReporterError, _("Unsupported reporter backend %s") % reporttype 
  • pykota/trunk/pykota/storage.py

    r2937 r2945  
    2323# 
    2424 
     25import os 
     26import imp 
    2527from mx import DateTime 
    2628 
     
    750752    backend = backendinfo["storagebackend"] 
    751753    try : 
    752         exec "from pykota.storages import %s as storagebackend" % backend.lower() 
     754        storagebackend = imp.load_source("storagebackend",  
     755                                         os.path.join(os.path.dirname(__file__), 
     756                                                      "storages", 
     757                                                      "%s.py" % backend.lower())) 
    753758    except ImportError : 
    754759        raise PyKotaStorageError, _("Unsupported quota storage backend %s") % backend