From 4ecfeb944802485202b142316557d545da8a818c Mon Sep 17 00:00:00 2001 From: James Broadhead Date: Sun, 10 Aug 2014 19:29:54 +0100 Subject: [PATCH] Cleanup python generation - Remove some trailing whitespace - Slightly sort imports - Replace is_oneway() calls with a bool --- compiler/cpp/src/generate/t_py_generator.cc | 61 +++++++++++---------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/compiler/cpp/src/generate/t_py_generator.cc b/compiler/cpp/src/generate/t_py_generator.cc index 5ac92c3d520..472cd1714da 100644 --- a/compiler/cpp/src/generate/t_py_generator.cc +++ b/compiler/cpp/src/generate/t_py_generator.cc @@ -786,16 +786,16 @@ void t_py_generator::generate_py_struct_definition(ofstream& out, } out << indent() << "def __hash__(self):" << endl; - indent_up(); - indent(out) << "value = PYTHONHASHSEED" << endl; - for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) { - indent(out) << "value = (value * 31) ^ hash(self." << (*m_iter)->get_name() + ")" << endl; - } - indent(out) << "return value" << endl; - indent_down(); - out << endl; - - + indent_up(); + indent(out) << "value = PYTHONHASHSEED" << endl; + for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) { + indent(out) << "value = (value * 31) ^ hash(self." << (*m_iter)->get_name() + ")" << endl; + } + indent(out) << "return value" << endl; + indent_down(); + out << endl; + + if (!gen_slots_) { // Printing utilities so that on the command line thrift // structs look pretty like dictionaries @@ -1050,8 +1050,8 @@ void t_py_generator::generate_service(t_service* tservice) { if (gen_twisted_) { f_service_ << - "from zope.interface import Interface, implements" << endl << "from twisted.internet import defer" << endl << + "from zope.interface import Interface, implements" << endl << endl << "from thrift.transport import TTwisted" << endl; } else if (gen_tornado_) { f_service_ << "from tornado import gen" << endl; @@ -1276,7 +1276,10 @@ void t_py_generator::generate_service_client(t_service* tservice) { // Generate client method implementations vector functions = tservice->get_functions(); vector::const_iterator f_iter; + bool is_oneway = false; for (f_iter = functions.begin(); f_iter != functions.end(); ++f_iter) { + is_oneway = (*f_iter)->is_oneway(); + t_struct* arg_struct = (*f_iter)->get_arglist(); const vector& fields = arg_struct->get_members(); vector::const_iterator fld_iter; @@ -1295,7 +1298,7 @@ void t_py_generator::generate_service_client(t_service* tservice) { } } else if (gen_tornado_) { indent(f_service_) << "self._seqid += 1" << endl; - if (!(*f_iter)->is_oneway()) { + if (!is_oneway) { indent(f_service_) << "future = self._reqs[self._seqid] = concurrent.Future()" << endl; } @@ -1316,8 +1319,7 @@ void t_py_generator::generate_service_client(t_service* tservice) { f_service_ << ")" << endl; - if (!(*f_iter)->is_oneway()) { - f_service_ << indent(); + if (!is_oneway) { if (gen_twisted_) { f_service_ << "return d" << endl; } else if (gen_tornado_) { @@ -1380,7 +1382,7 @@ void t_py_generator::generate_service_client(t_service* tservice) { indent_down(); - if (!(*f_iter)->is_oneway()) { + if (!is_oneway) { std::string resultname = (*f_iter)->get_name() + "_result"; // Open function f_service_ << @@ -1826,8 +1828,9 @@ void t_py_generator::generate_process_function(t_service* tservice, const std::vector& xceptions = xs->get_members(); vector::const_iterator x_iter; + bool is_oneway = tfunction->is_oneway(); // Declare result for non oneway function - if (!tfunction->is_oneway()) { + if (!is_oneway) { f_service_ << indent() << "result = " << resultname << "()" << endl; } @@ -1853,7 +1856,7 @@ void t_py_generator::generate_process_function(t_service* tservice, f_service_ << ")" << endl; // Shortcut out here for oneway functions - if (tfunction->is_oneway()) { + if (is_oneway) { f_service_ << indent() << "return d" << endl; indent_down(); @@ -1894,7 +1897,7 @@ void t_py_generator::generate_process_function(t_service* tservice, f_service_ << endl; // Try block for a function with exceptions - if (!tfunction->is_oneway() && xceptions.size() > 0) { + if (!is_oneway && xceptions.size() > 0) { indent(f_service_) << "def write_results_exception_" << tfunction->get_name() << "(self, error, result, seqid, oprot):" << endl; @@ -1908,7 +1911,7 @@ void t_py_generator::generate_process_function(t_service* tservice, for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) { f_service_ << indent() << "except " << type_name((*x_iter)->get_type()) << ", " << (*x_iter)->get_name() << ":" << endl; - if (!tfunction->is_oneway()) { + if (!is_oneway) { indent_up(); f_service_ << indent() << "result." << (*x_iter)->get_name() << " = " << (*x_iter)->get_name() << endl; @@ -1930,7 +1933,7 @@ void t_py_generator::generate_process_function(t_service* tservice, } else if (gen_tornado_) { /* - if (!tfunction->is_oneway() && xceptions.size() > 0) { + if (!is_oneway && xceptions.size() > 0) { f_service_ << endl << indent() << "def handle_exception(xtype, value, traceback):" << endl; @@ -1938,7 +1941,7 @@ void t_py_generator::generate_process_function(t_service* tservice, for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) { f_service_ << indent() << " if xtype == " << type_name((*x_iter)->get_type()) << ":" << endl; - if (!tfunction->is_oneway()) { + if (!is_oneway) { f_service_ << indent() << " result." << (*x_iter)->get_name() << " = value" << endl; } @@ -1964,7 +1967,7 @@ void t_py_generator::generate_process_function(t_service* tservice, indent_up(); } f_service_ << indent(); - if (!tfunction->is_oneway() && !tfunction->get_returntype()->is_void()) { + if (!is_oneway && !tfunction->get_returntype()->is_void()) { f_service_ << "result.success = "; } f_service_ << @@ -1980,12 +1983,12 @@ void t_py_generator::generate_process_function(t_service* tservice, } f_service_ << "))" << endl; - if (!tfunction->is_oneway() && xceptions.size() > 0) { + if (!is_oneway && xceptions.size() > 0) { indent_down(); for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) { f_service_ << indent() << "except " << type_name((*x_iter)->get_type()) << ", " << (*x_iter)->get_name() << ":" << endl; - if (!tfunction->is_oneway()) { + if (!is_oneway) { indent_up(); f_service_ << indent() << "result." << (*x_iter)->get_name() << " = " << (*x_iter)->get_name() << endl; @@ -1998,7 +2001,7 @@ void t_py_generator::generate_process_function(t_service* tservice, } // Shortcut out here for oneway functions - if (tfunction->is_oneway()) { + if (is_oneway) { return; } @@ -2026,7 +2029,7 @@ void t_py_generator::generate_process_function(t_service* tservice, vector::const_iterator f_iter; f_service_ << indent(); - if (!tfunction->is_oneway() && !tfunction->get_returntype()->is_void()) { + if (!is_oneway && !tfunction->get_returntype()->is_void()) { f_service_ << "result.success = "; } f_service_ << @@ -2042,12 +2045,12 @@ void t_py_generator::generate_process_function(t_service* tservice, } f_service_ << ")" << endl; - if (!tfunction->is_oneway() && xceptions.size() > 0) { + if (!is_oneway && xceptions.size() > 0) { indent_down(); for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) { f_service_ << indent() << "except " << type_name((*x_iter)->get_type()) << ", " << (*x_iter)->get_name() << ":" << endl; - if (!tfunction->is_oneway()) { + if (!is_oneway) { indent_up(); f_service_ << indent() << "result." << (*x_iter)->get_name() << " = " << (*x_iter)->get_name() << endl; @@ -2060,7 +2063,7 @@ void t_py_generator::generate_process_function(t_service* tservice, } // Shortcut out here for oneway functions - if (tfunction->is_oneway()) { + if (is_oneway) { f_service_ << indent() << "return" << endl; indent_down();