本文整理汇总了Python中db.Database.commit方法的典型用法代码示例。如果您正苦于以下问题:Python Database.commit方法的具体用法?Python Database.commit怎么用?Python Database.commit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类db.Database
的用法示例。
在下文中一共展示了Database.commit方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: change_term
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def change_term(self):
"""
Позволяет изменить значение термина.
"""
db = Database("terms.db")
coursers = db.get(["all_terms"])
all_terms = {}
for table in coursers:
for term, definition in coursers[table]:
all_terms[term] = definition
ec = None
while ec != "--exit":
ec = unicode(raw_input("Термин: "), "utf-8")
if ec == "--exit":
break
elif ec == "":
pass
else:
if ec in all_terms:
print "Значение: ", all_terms[ec], "\n"
new_definition = raw_input("Новое значение: ")
db.delete("all_terms", [ec])
db.insert("all_terms", [ec, unicode(new_definition, "utf-8")])
db.commit()
else:
print "Термина не существует!\n"
db.close_db()
示例2: add_term
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def add_term(self):
"""
Добавление терминов в terms.db
"""
db = Database("terms.db")
coursers = db.get(["all_terms"])
all_terms = {}
for table in coursers:
for term, definition in coursers[table]:
all_terms[term] = definition
ec = ""
while ec != "--exit":
ec = unicode(raw_input("\nТермин: "), "utf-8")
definition = ""
is_exit = False
if is_exit or ec == "--exit":
break
if ec in all_terms:
print "[Термин существует]: ", all_terms[ec]
ec2 = None
while ec2 not in ("--exit", ""):
ec2 = raw_input("- ")
if ec2 == "":
break
if ec2 == "--exit":
is_exit = True
else:
definition += ec2 + " / "
definition = definition[:-3]
db.insert("all_terms", [ec, unicode(definition, "utf-8")])
db.commit()
db.close_db()
示例3: UpdateUser
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def UpdateUser(self, user_id):
# db.loans.filter_by(db.loans.book_id==2).update({'book_id':1})
userlevel = str(self._cboUserLevel.Text).split(" ")[0]
Database.user.filter(Database.user.user_id == user_id).update(
{"firstname": self._txtFirstname.Text, "lastname": self._txtLastname.Text, "userlevel": userlevel}
)
Database.commit()
# Database.user.filter_by(Database.user.user_id==user_id).update({'lastname':self._txtLastname,'firstname':self._txtFirstname,'userlevel': userlevel})
self.LoadUserData()
示例4: SaveUser
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def SaveUser(self):
# db.loans.insert(book_id=book_id, user_name=user.name)
userlevel_ = str(self._cboUserLevel.Text).split(" ")[0]
Database.user.insert(
username=self._txtUsername.Text,
firstname=self._txtFirstname.Text,
lastname=self._txtLastname.Text,
userlevel=userlevel_,
)
Database.commit()
self.LoadUserData()
示例5: del_term
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def del_term(self):
"""
Удаление терминов их terms.db
"""
db = Database("terms.db")
ec = ''
while ec != '--exit':
ec = raw_input("Термин: ")
if ec == '--exit':
break
db.delete("all_terms", [ec])
db.commit()
db.close_db()
示例6: DeleteUser
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def DeleteUser(self, sender, e):
# db.loans.delete(db.loans.book_id==2)
# loan = db.loans.filter_by(book_id=2, user_name='Bhargan Basepair').one()
# dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo);
# if(dialogResult == DialogResult.Yes)
# {
# //do something
# }
dlgResult = MessageBox.Show(
"Are you sure you want to delete this user?", "Delete User", MessageBoxButtons.YesNo
)
if dlgResult == DialogResult.Yes:
user = self.getUserInfo(self.current_user_id)
# user = Database.user.filter(Database.user.user_id==3).one()
Database.delete(user)
Database.commit()
self.LoadUserData()
System.Windows.Forms.MessageBox.Show("Finished deleting..")
示例7: Douban
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
#.........这里部分代码省略.........
# I have not read the book
if len(collect_info) > 1:
state = pq(collect_info[1]).text()
if state == u'经常读':
continue
book_id = int(re.match('http://book.douban.com/subject/(\d+)/',
book('.pic .nbg').attr('href')).group(1))
title = book('.info h2 a').attr('title')
image = book('.pic .nbg img').attr('src')
pub = book('.info .pub').text()
rating = pq(book('.info .star'))
if rating('.rating_nums'):
numRaters = int(re.match(u'\((\d+)',
rating('.pl').text()).group(1))
average = rating('.rating_nums').text()
rating = {"numRaters": numRaters, "average": average}
else:
rating = {"numRaters": 0, "average": 0}
books.append({'id': book_id, 'title': title,
'image': image, 'pub': pub, 'rating': rating})
return {'books': books, 'total': len(books)}
def movie_search(self, **kw):
""" Fallback for movie.search """
keyword = kw['q']
url = 'http://movie.douban.com/subject_search?search_text=%s&cat=1002' % \
keyword.encode('utf-8')
html = pq(url=url, parser='html', opener=lambda url, **kw:
urllib2.urlopen(urllib2.Request(url, headers={
'User-Agent': self.recbysns.UA,
'Cookie': self.cookie}), timeout=10).read())
movies = []
for movie in html('#content table .item'):
movie = pq(movie)
id = int(re.match('http://movie.douban.com/subject/(\d+)/',
movie('.nbg').attr('href')).group(1))
image = movie('.nbg img').attr('src')
pub = movie('.pl2>.pl').text()
rating = pq(movie('.pl2 .star'))
if rating and rating('.rating_nums').text():
numRaters = int(re.match(u'\((\d+)',
rating('.pl').text()).group(1))
average = rating('.rating_nums').text()
rating = {"numRaters": numRaters, "average": average}
else:
rating = {"numRaters": 0, "average": 0}
titles = [title.strip()
for title in movie('.pl2>a').text().split('/')]
movies.append({'id': id, 'titles': titles,
'image': image, 'pub': pub, 'rating': rating})
return {'movies': movies, 'total': len(movies)}
def crawl_book(self):
#start = 63831 %《%》%
for book in self.db.select_table('douban_book', 'img_url is null'):
try:
result = douban.book.search(q=book['title'])
if int(result['total']) == 0:
print book['title']
continue
for result in result['books']:
if result['title'] == book['title']:
self.db.query("UPDATE douban_book SET id = %s, \
img_url = %s, pub = %s, \
raters_num = %s, score = %s \
WHERE id = %s",
(result['id'], result['image'],
result['pub'],
result['rating']['numRaters'],
result['rating']['average'],
book['id']))
self.db.commit()
break
except Exception as e:
print book['title']
print e
def crawl_movie(self):
for movie in self.db.select_table('douban_movie', 'img_url is null'):
try:
result = douban.movie.search(q=movie['title'])
if int(result['total']) == 0:
print movie['title']
continue
for result in result['movies']:
if movie['title'] in result['titles']:
self.db.query("UPDATE douban_movie SET id = %s, \
img_url = %s, pub = %s, \
raters_num = %s, score = %s \
WHERE id = %s",
(result['id'], result['image'],
result['pub'],
result['rating']['numRaters'],
result['rating']['average'],
movie['id']))
self.db.commit()
break
except Exception as e:
print movie['title']
print e
示例8: parse_files
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
def parse_files(self):
"""
Производит парсинг файлов из директории "input/".
Сохраняет результат в БД.
"""
# словари терминов и фраз по всем файлам
all_terms = []
all_phrases = []
# создаёт список файлов
files_in_dir = os.listdir(self.input_path)
for file_name in files_in_dir:
# парсит файл на термины. возврашает список
parsed_terms = self.parse_terms(self.input_path + file_name)
# парсит файл на фразы
parsed_phrases = self.parse_phrases(self.input_path + file_name)
# заполняет all_terms из каждого отпарсенного файла
for term in parsed_terms:
if term not in all_terms:
all_terms.append(term)
# заполняет all_phrases
for phrase in parsed_phrases:
# проверку на совпадение фраз не вижу смысла делать
all_phrases.append(phrase)
#os.remove(self.input_path + file_name)
# удаляю термины имеющиеся в useless_terms
# возвращает словарь без useless терминов
without_useless = self.check_on_useless(all_terms)
# таблицы на обновление
phrases_objs = {
"parsed_phrases": all_phrases,
}
terms_objs = {
"parsed_terms": without_useless,
"useless_terms": without_useless
}
# сохраняет новые термины в таблицу parsed_terms
# сохраняет новые фразы в таблицу parsed_phrases
# обновляет таблицу useless_terms
if all_phrases:
db = Database(file_name[:-3] + 'db')
db.create_tables(PHRASES_TABLES)
for table in phrases_objs:
for row in phrases_objs[table]:
row = [row]
db.insert(table, row)
db.commit()
db.close_db()
if without_useless:
db = Database("terms.db")
for table in terms_objs:
for row in terms_objs[table]:
row = [row]
db.insert(table, row)
db.commit()
db.close_db()
示例9: TestDatabase
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
class TestDatabase(unittest.TestCase):
def setUp(self):
self.db = Database()
def test_get_and_set(self):
self.db.set('a', 10)
self.assertEqual(self.db.get('a'), 10)
def test_get_null(self):
self.assertEqual(self.db.get('nonexistant'), 'NULL')
def test_unset(self):
self.db.set('a', 10)
self.db.unset('a')
self.assertEqual(self.db.get('a'), 'NULL')
def test_equalto(self):
self.db.set('a', 10)
self.db.set('c', 10)
self.db.set('b', 10)
self.assertEqual(self.db.equalto(10), 'a b c')
def test_equalto_none(self):
self.assertEqual(self.db.equalto(10), 'NONE')
def test_equalto_unset(self):
self.db.set('a', 10)
self.db.set('c', 10)
self.db.set('b', 10)
self.db.unset('b')
self.assertEqual(self.db.equalto(10), 'a c')
def test_equalto_change(self):
self.db.set('a', 10)
self.db.set('a', 20)
self.assertEqual(self.db.equalto(10), 'NONE')
self.assertEqual(self.db.equalto(20), 'a')
def test_program(self):
"""SET a 10
SET b 10
EQUALTO 10
EQUALTO 20
UNSET a
EQUALTO 10
SET b 30
EQUALTO 10"""
self.db.set('a', 10)
self.db.set('b', 10)
self.assertEqual(self.db.equalto(10), 'a b')
self.assertEqual(self.db.equalto(20), 'NONE')
self.db.unset('a')
self.assertEqual(self.db.equalto(10), 'b')
self.db.set('b', 30)
self.assertEqual(self.db.equalto(10), 'NONE')
def test_tx_commit(self):
self.db.set('a', 10)
self.db.begin()
self.assertEqual(self.db.get('a'), 10)
self.db.set('a', 20)
self.assertEqual(self.db.get('a'), 20)
self.db.commit()
self.assertEqual(self.db.get('a'), 20)
def test_tx_full_commit(self):
# test that commit commits *all* open transactions
self.db.begin()
self.db.set('a', 30)
self.db.begin()
self.db.set('a', 40)
self.db.commit()
self.assertEqual(self.db.get('a'), 40)
self.assertEqual(self.db.rollback(), 'INVALID ROLLBACK')
def test_tx_rollback(self):
self.db.set('a', 10)
#.........这里部分代码省略.........
示例10: RecBySNS
# 需要导入模块: from db import Database [as 别名]
# 或者: from db.Database import commit [as 别名]
class RecBySNS(object):
def __init__(self):
self.db = Database()
self.nlpir = PyNLPIR(self)
self.renren = Renren(self)
self.url = URL(self)
self.UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv: 17.0) Gecko/17.0 Firefox/17.0"
self.pos_blacklist_regexs = [
"^emoticon$",
"^title$",
"^ude.",
"^w.*",
"^vshi",
"^vyou",
"^p.*",
"^ule",
"^m.*",
"^cc",
"^session$",
]
def assign_recbysns_entity_sentiment(self):
for status in self.db.select_table(
"weibo_status",
"text like '%%《%%》%%' or \
text like '%%http://%%' or \
text like '%%https://%%'",
12696,
5,
):
sessions = self.nlpir.segment_weibo_status(status["text"])
i = 0
while i < len(sessions):
session = sessions[i]
entities = []
session_text = ""
for segment in session:
session_text += segment.rsplit("/", 1)[0]
if self.nlpir.get_POS(segment) == "title":
title = re.match(u"《(.*?)》/title", segment).group(1)
if self.db.select_douban_movie_by_title(title) or self.db.select_douban_book_by_title(title):
entities.append(segment)
elif self.nlpir.get_POS(segment) == "url":
match = re.search(u"(http.*)/url", segment)
if match is None:
print "###########%s###########" % segment
continue
url = match.group(1)
url = self.db.select_recbysns_url_by_short_url(url)
if url is None:
print "***********%s***********" % segment
continue
if self.url.is_video_url(url["origin_url"]):
entities.append(segment)
positions = {}
for entity in entities:
if entity in positions:
position = positions[entity] + 1
positions[entity] = position
else:
position = 0
positions[entity] = position
print status["text"]
print session_text
print entity
print "Type:"
type = int(sys.stdin.readline())
print "Sentiment:"
sentiment = int(sys.stdin.readline())
self.db.query(
"INSERT INTO recbysns_entity( \
entity, status_id, session, position, \
type, score) \
VALUES(%s, %s, %s, %s, %s, %s)",
(entity, status["id"], i, position, type, sentiment),
)
self.db.commit()
i = i + 1
def is_blacklist_word(self, word):
for pos_blacklist_regex in self.pos_blacklist_regexs:
if re.search(pos_blacklist_regex, self.nlpir.get_POS(word)):
return True
return False