Thrift-1806: Python generation always truncates __init__.py files
authorJake Farrell <jfarrell@apache.org>
Tue, 26 Mar 2013 03:49:37 +0000 (23:49 -0400)
committerJake Farrell <jfarrell@apache.org>
Tue, 26 Mar 2013 03:49:37 +0000 (23:49 -0400)
Client: Python
Patch: Nathaniel Cook

When generating python code the generator correctly creates _init.py file for each directory. If the __init_.py file has contents it is always overwritten. This usually isn't a problem unless using the -out flag, then there is a potential to erase non generated code.

compiler/cpp/src/generate/t_py_generator.cc

index fd954c5..4a540f2 100644 (file)
@@ -337,7 +337,7 @@ void t_py_generator::init_generator() {
   while (true) {
     // TODO: Do better error checking here.
     MKDIR(package_dir_.c_str());
-    std::ofstream init_py((package_dir_+"/__init__.py").c_str());
+    std::ofstream init_py((package_dir_+"/__init__.py").c_str(), std::ios_base::app);
     init_py.close();
     if (module.empty()) {
       break;