/ / Jython: Importar módulos de outras fontes (banco de dados por exemplo)? - módulo, importação, carga, gancho, jython

Jython: Importar módulos de outras fontes (DB, por exemplo)? - módulo, import, load, hook, jython

Estou usando um programa Java para carregar e executar scripts Jython - usando o org.python.util.PythonInterpreter.

Estou armazenando os scripts Jython em um banco de dados: atualmente, estou tendo que extrair os scripts Python para um sistema de arquivos antes de executá-los - para garantir que quaisquer instruções de "importação" contidas nos scripts funcionem.

Existe uma maneira de evitar esta etapa de extração: isto é - existe uma maneira de conectar-se ao interpretador Python para interceptar as importações e chamar um método Java (que carregaria a fonte jython do banco de dados)?

Respostas:

2 para resposta № 1

Você pode adicionar importadores de Python ou Java (existe um padrão no código Jython que importa do caminho de classe: org.python.core.ClasspathPyImporter; também existem alguns Javadocs no org.python.core.util.importer interface implementada que pode ser útil). O código é relativamente simples; Vejo PEP 302 também.