From 8e2fb38dc8149301047b01a7db6e017b56985bcd Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 1 May 2013 12:01:22 +0530 Subject: [PATCH] [get_value] [fix] fix in get_values_from_single --- webnotes/db.py | 28 ++++++++++++++-------------- webnotes/model/utils.py | 4 +--- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/webnotes/db.py b/webnotes/db.py index 8e25792527..d3007a7ce3 100644 --- a/webnotes/db.py +++ b/webnotes/db.py @@ -146,14 +146,17 @@ class Database: return self._cursor.fetchall() def explain_query(self, query, values=None): - webnotes.errprint("--- query explain ---") - if values is None: - self._cursor.execute("explain " + query) - else: - self._cursor.execute("explain " + query, values) - import json - webnotes.errprint(json.dumps(self.fetch_as_dict(), indent=1)) - webnotes.errprint("--- query explain end ---") + try: + webnotes.errprint("--- query explain ---") + if values is None: + self._cursor.execute("explain " + query) + else: + self._cursor.execute("explain " + query, values) + import json + webnotes.errprint(json.dumps(self.fetch_as_dict(), indent=1)) + webnotes.errprint("--- query explain end ---") + except: + webnotes.errprint("error in query explain") def sql_list(self, query, values=(), debug=False): return [r[0] for r in self.sql(query, values, debug=debug)] @@ -336,10 +339,10 @@ class Database: return [] if as_dict: - return values + return values and [values] or [] if isinstance(fields, list): - return map(lambda d: values.get(d), fields) + return [map(lambda d: values.get(d), fields)] else: r = self.sql("""select field, value @@ -350,10 +353,7 @@ class Database: if as_dict: return r and [webnotes._dict(r)] or [] else: - if r: - return [[i[1] for i in r]] - else: - return [] + return r and [[i[1] for i in r]] or [] def get_values_from_table(self, fields, filters, doctype, as_dict, debug): fl = fields diff --git a/webnotes/model/utils.py b/webnotes/model/utils.py index d4396af83c..bc33881fc2 100644 --- a/webnotes/model/utils.py +++ b/webnotes/model/utils.py @@ -214,9 +214,7 @@ def check_if_doc_is_linked(dt, dn, method="Delete"): link_fields = get_link_fields(dt) link_fields = [[lf['parent'], lf['fieldname']] for lf in link_fields] - for l in link_fields: - link_dt, link_field = l - + for link_dt, link_field in link_fields: item = webnotes.conn.get_value(link_dt, {link_field:dn}, ["name", "parent", "parenttype", "docstatus"], as_dict=True)