fixes RuntimePython27

This commit is contained in:
Egor Kislitsyn 2016-03-11 15:58:01 +07:00
parent 4dec5ac59a
commit de88dfb1dc

View File

@ -96,22 +96,24 @@ class ServerlessRuntimePython27 extends RuntimeBase {
});
}
getHandler() {
return "_serverless_handler.handler";
getHandler(func) {
return path.join(path.dirname(func.handler), "_serverless_handler.handler");
}
_afterCopyDir(func, pathDist, stage, region) {
return this._getEnvVars(stage, region)
.then(envVars => {
const handlerArr = func.handler.split('/').pop().split('.'),
handlerFile = handlerArr[0],
const handlerArr = func.handler.split('.'),
handlerDir = path.dirname(func.handler),
handlerFile = handlerArr[0].split('/').pop(),
handlerMethod = handlerArr[1];
let loader = ['import os'];
loader = loader.concat(_.map(envVars, (value, key) => `os.environ['${key}'] = str('${value}')`));
loader.push(`from ${handlerFile} import ${handlerMethod}`);
return fs.writeFileAsync(path.join(pathDist, '_serverless_handler.py'), loader.join('\n'));
return fs.writeFileAsync(path.join(pathDist, handlerDir, '_serverless_handler.py'), loader.join('\n'));
});
}