24 lines
954 B
PL/PgSQL
24 lines
954 B
PL/PgSQL
CREATE OR REPLACE FUNCTION _cdb_crankshaft_virtualenvs_path()
|
|
RETURNS text
|
|
AS $$
|
|
BEGIN
|
|
-- RETURN '/opt/virtualenvs/crankshaft';
|
|
RETURN '@@VIRTUALENV_PATH@@';
|
|
END;
|
|
$$ language plpgsql IMMUTABLE STRICT;
|
|
|
|
-- Use the crankshaft python module
|
|
CREATE OR REPLACE FUNCTION _cdb_crankshaft_activate_py()
|
|
RETURNS VOID
|
|
AS $$
|
|
import os
|
|
# plpy.notice('%',str(os.environ))
|
|
# activate virtualenv
|
|
crankshaft_version = plpy.execute('SELECT cdb_crankshaft._cdb_crankshaft_internal_version()')[0]['_cdb_crankshaft_internal_version']
|
|
base_path = plpy.execute('SELECT cdb_crankshaft._cdb_crankshaft_virtualenvs_path()')[0]['_cdb_crankshaft_virtualenvs_path']
|
|
default_venv_path = os.path.join(base_path, crankshaft_version)
|
|
venv_path = os.environ.get('CRANKSHAFT_VENV', default_venv_path)
|
|
activate_path = venv_path + '/bin/activate_this.py'
|
|
exec(open(activate_path).read(), dict(__file__=activate_path))
|
|
$$ LANGUAGE plpythonu;
|