Keerati Inochanon
unselfishly at gmail.com
Sat Apr 2 20:10:32 EST 2005
Hi, I'm getting this exception: Mod_python error: "PythonHandler vampire" Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 299, in HandlerDispatch result = object(req) File "/usr/lib/python2.3/site-packages/vampire/lookup.py", line 641, in _handler result = _execute(req,objects[-1]) File "/usr/lib/python2.3/site-packages/vampire/lookup.py", line 445, in _execute return object(**args) File "/home/www/testing/upload.py", line 56, in handler FileHandler.processUpload(filename, destination) File "/home/www/testing/modules/FileHandler.py", line 149, in processUpload def getFileHandler(filename, module=sys.modules[FileHandler.__module__]): KeyError: '_vampire_c5f8def7c7c8bbf5b9d75d365a5bbe67_37' -- I'm not sure this it is related to vampire or not, but it seems to happen when I do module loading through vampire. I tried to run the same code with python import, and the code was running fine. Here is my code snippet: FileHandler.py: ------------------------------ import os import sys import vampire config = vampire.loadConfig(__req__, ".vampire") directory = config.get("Modules", "common") SessionManagement = vampire.importModule("SessionManagement", directory) Settings = vampire.importModule("Settings", directory, __req__) class FileHandler: ... ... ... class XYZFileHandler: ... ... ... def processUpload(filename, directory): "Process the user-uploaded files" def getFileHandler(filename, module=sys.modules[FileHandler.__module__]): "Return the file handler class according to the file extension" subclass = "%sFileHandler" % os.path.splitext(filename)[1].upper()[1:] return hasattr(module, subclass) and getattr(module, subclass) or FileHandler getFileHandler(filename)(filename, directory) ------------------------------------------------ upload.py: from mod_python import apache, util from mod_python.Session import Session import vampire import os config = vampire.loadConfig(__req__, ".vampire") directory = config.get("Modules", "common") SessionManagement = vampire.importModule("SessionManagement", directory) Settings = vampire.importModule("Settings", directory) FileHandler = vampire.importModule("FileHandler", directory, __req__) Utility = vampire.importModule("Utility", directory, __req__) def handler(req, **kwargs): ... ... FileHandler.processUpload(filename, destination) ... ... --------------------------------------------------- What am I doing wrong? Please let me know if you need more information. Thank you very much in advance. Best regards, Keerati Inochanon
|