当前位置: 首页>>代码示例>>Python>>正文


Python Mysql.rollback方法代码示例

本文整理汇总了Python中mysql.Mysql.rollback方法的典型用法代码示例。如果您正苦于以下问题:Python Mysql.rollback方法的具体用法?Python Mysql.rollback怎么用?Python Mysql.rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mysql.Mysql的用法示例。


在下文中一共展示了Mysql.rollback方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: post

# 需要导入模块: from mysql import Mysql [as 别名]
# 或者: from mysql.Mysql import rollback [as 别名]
	def post(self):
		
		for i in range(1):

                        LOG.info('API IN[%s]' % (self.__class__.__name__))
                        LOG.info('PARAMETER IN[%s]' % self.request.arguments)

                        ret = {'code':'','message':''}

                        essential_keys = set(['question_id','group_id'])

                        if Base.check_parameter(set(self.request.arguments.keys()),essential_keys):
                                ret['code'] = 1 
                                ret['message'] = '无效参数'
                                LOG.error('ERROR[in parameter invalid]')
                                break
                            
                        question_id = ''.join(self.request.arguments['question_id'])
			group_id = ''.join(self.request.arguments['group_id'])

                        if Base.empty(question_id) or Base.empty(group_id):
                                ret['code'] = 1 
                                ret['message'] = '无效参数'
                                LOG.error('ERROR[parameter empty]')
                                break

                        configer = Configer()
                        remote_host = configer.get_configer('REMOTE','host')
                        remote_port = configer.get_configer('REMOTE','port')
                        remote_uri = configer.get_configer('REMOTE','uri')

                        remote_url = "http://%s:%s/%s" % (remote_host,remote_port,remote_uri)
                            
                        token = self.get_cookie("teacher_id")
                        LOG.info('TOKEN[%s]' % token)

                        if token is None:
                                ret['code'] = 6 
                                ret['message'] = '无效参数'
                                LOG.error('ERROR[token empty]')
                                break

                        post_data = {'token' : token}
                            
                        client = httpclient.AsyncHTTPClient()
                        response = yield gen.Task(client.fetch,remote_url,method = 'POST',body = urllib.urlencode(post_data))
                        #response = Http.post(remote_url,post_data)

                        LOG.info('REMOTE RES CODE[%d]' % response.code)

                        if 200 == response.code:
                                encode_body = json.loads(response.body)

                                if 0 == encode_body['code'] or 2 == encode_body['code']:
                                        ret['code'] = 7 
                                        ret['message'] = '无效参数'
                                        LOG.error('ERROR[token not exist]')
                                        break

                                if 1 == encode_body['code']:
                                        subject_id = encode_body['subject_id']
                                        grade_id = encode_body['grade_id']
                                        system_id = encode_body['system_id']
                                        org_type = encode_body['org_type']                                  

                                        db = Mysql()
                            
                                        question_sql = "update entity_question set question_group=%(group_id)d where upload_id=%(system_id)d and id=%(question_id)d;"      

                                        try:
                                                db.connect_master()

                                                question_res = db.query(question_sql,question_id = int(question_id),system_id
= int(system_id),group_id=int(group_id))                                   
                                                if not question_res:
							ret['code'] = 3
							ret['message'] = '服务器错误'
							LOG.error('ERROR[mysql error]')
							break
	
						question_sql = db.get_last_sql()
                                                LOG.info('SQL[%s] - RES[%s]' % (question_sql,question_res))

                                        except DBException as e:
                                                db.rollback()
                                                ret['code'] = 3
                                                ret['message'] = '服务器错误'
                                                LOG.error('ERROR[mysql error]')
                                                break

                                else:
                                        ret['code'] = 3
                                        ret['message'] = '服务器错误'
                                        LOG.error('ERROR[remote error]')
                                        break

                        else:
                                ret['code'] = 3
                                ret['message'] = '服务器错误'
                                LOG.error('ERROR[remote error]')
#.........这里部分代码省略.........
开发者ID:XDF-server,项目名称:api_resource,代码行数:103,代码来源:group.py

示例2: post

# 需要导入模块: from mysql import Mysql [as 别名]
# 或者: from mysql.Mysql import rollback [as 别名]

#.........这里部分代码省略.........
				if 0 == encode_body['code'] or 2 == encode_body['code']:
					ret['code'] = 7
					ret['message'] = 'token失效'
					LOG.error('ERR[token not exist]')
					break

				if 1 == encode_body['code']:
					subject_id = encode_body['subject_id']
					grade_id = encode_body['grade_id']
					system_id = encode_body['system_id']
					org_type = encode_body['org_type']


					if 0 != int(question_group):
						if Business.group_id_exist(question_group,system_id) is False:
							ret['code'] = 8
							ret['message'] = '无效参数'
							LOG.error('ERROR[group not exist]')
							break	

					db = Mysql()

					question_sql = "insert into entity_question (difficulty,question_docx,html,upload_time,update_time,question_type,subject_id,new_format,upload_id,upload_src,question_group,grade_id,state,is_single,question_type_id,answer_num,count_ref,paper_year,parent_question_id,count_options) values (%(level)d,'%(json)s','%(html)s',now(),now(),'%(type)s',%(subject_id)d,1,%(upload_id)d,%(upload_src)d,%(question_group)d,%(grade_id)d,'ENABLED',1,%(question_type_id)d,%(answer_num)d,0,0,0,%(count_options)d);"
					
					link_topic_sql = "insert into link_question_topic (question_id,topic_id) values (%(q_id)d,%(t_id)d);"

					link_chapter_sql = "insert into link_question_chapter (question_id,chapter_id) values (%(q_id)d,%(c_id)d);"

					try:
						db.connect_master()
						db.start_event()

						question_res = db.exec_event(question_sql,level = int(question_level),json = json_key,html = html_key,type = type_name,subject_id = int(subject_id),upload_id = int(system_id),upload_src = int(org_type),question_group = int(question_group),grade_id = int(grade_id),question_type_id = int(question_type),answer_num = answer_num,count_options = option_num)
						question_sql = db.get_last_sql()
						question_id = db.get_last_id()
						LOG.info('RES[%s] - INS[%d]' % (question_res,question_id))
				
						if Base.empty(question_topic) is False:
							topic_list = question_topic.split(',')
							for question_theme in topic_list:
								topic_res = db.exec_event(link_topic_sql,q_id = int(question_id),t_id = int(question_theme))
								topic_sql = db.get_last_sql()
								topic_id = db.get_last_id()
								LOG.info('RES[%s] - INS[%d]' % (topic_res,topic_id))

						if not Base.empty(question_chapter):
							chapter_res = db.exec_event(link_chapter_sql,q_id = int(question_id),c_id = int(question_chapter))
							chapter_sql = db.get_last_sql()
							chapter_id = db.get_last_id()
							LOG.info('RES[%s] - INS[%d]' % (chapter_res,chapter_id))
						
					except DBException as e:
						db.rollback()
						db.end_event()
						ret['code'] = 3
						ret['message'] = '服务器错误'
						LOG.error('ERR[insert mysql error]') 
						break

			else:
				ret['code'] = 3
				ret['message'] = '服务器错误'
				LOG.error('ERROR[remote error]')
				break
							
			mongo = Mongo()

			try:
				mongo.connect('resource')
				mongo.select_collection('mongo_question_json')
				json_id = mongo.insert_one({"content":encode_json,"question_id":question_id})
				LOG.info('MONGO[insert json] - DATA[%s] - INS[%s] - Question Id[%d]' % (json.dumps(encode_json),json_id,question_id))

				mongo.select_collection('mongo_question_html')
				html_id = mongo.insert_one({"content":encode_html,"question_id":question_id})
				LOG.info('MONGO[insert html] - DATA[%s] - INS[%s] - Question Id[%d]' % (json.dumps(encode_html),html_id,question_id))

			except DBException as e:
				db.rollback()
				db.end_event()
				ret['code'] = 3 
				ret['message'] = '服务器错误'
				LOG.error('ERR[mongo exception]') 
				break

			db.end_event()

			if int(ref):
				doit = Doit()
				doit.local_img(str(question_id))
				LOG.info('Local Img [%s]' % str(question_id))

			ret['code'] = 0
			ret['message'] = 'success'
			ret['id'] = question_id

		LOG.info('PARAMETER OUT[%s]' % ret)
		LOG.info('API OUT[%s]' % (self.__class__.__name__))
		self.write(json.dumps(ret))
		self.finish()
开发者ID:XDF-server,项目名称:api_resource,代码行数:104,代码来源:question.py


注:本文中的mysql.Mysql.rollback方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。