rabin 7 роки тому
батько
коміт
5c97b070d0
2 змінених файлів з 25 додано та 20 видалено
  1. 24 0
      demeter/core.py
  2. 1 20
      demeter/web.py

+ 24 - 0
demeter/core.py

@@ -334,6 +334,30 @@ class Demeter(object):
 		result = req.text
 		return result
 
+	@classmethod
+	def out(self, msg='', data={}, code=0, callback='', function=''):
+		if data:
+			if 'page' in data and data['page']['total'] <= 0:
+				del data['page']
+			if 'update' in data and not data['update']:
+				del data['update']
+			if 'search' in data and not data['search']:
+				del data['search']
+		result = ''
+		send = {}
+		send['status'] = 1
+		send['msg'] = msg
+		send['data'] = data
+		send['code'] = code
+		if not send['data']:
+			send['status'] = 2
+		result = json.dumps(send)
+		if callback:
+			result = callback + '(' + result + ')'
+		elif function:
+			result = '<script>parent.' + function + '(' + result + ')' + '</script>';
+		return result
+
 	@classmethod
 	def error(self, string):
 		if self.request:

+ 1 - 20
demeter/web.py

@@ -165,28 +165,9 @@ class Base(tornado.web.RequestHandler):
 		self.out('您没有权限')
 
 	def out(self, msg='', data={}, code=0):
-		if data:
-			if 'page' in data and data['page']['total'] <= 0:
-				del data['page']
-			if 'update' in data and not data['update']:
-				del data['update']
-			if 'search' in data and not data['search']:
-				del data['search']
 		callback = self.input('callback')
 		function = self.input('function')
-		result = ''
-		send = {}
-		send['status'] = 1
-		send['msg'] = msg
-		send['data'] = data
-		send['code'] = code
-		if not send['data']:
-			send['status'] = 2
-		result = json.dumps(send)
-		if callback:
-			result = callback + '(' + result + ')'
-		elif function:
-			result = '<script>parent.' + function + '(' + result + ')' + '</script>';
+		result = Demeter.out(msg=msg, data=data, code=code, callback=callback, function=function)
 		self.write(result)
 		if send['status'] == 2:
 			from tornado.web import Finish