-
Notifications
You must be signed in to change notification settings - Fork 1
/
startFixer.py
46 lines (37 loc) · 1.39 KB
/
startFixer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
@author: zyq
'''
import MySQLdb
from app.fixer import newLineFixer
from dao.connFactory import getDushuConnCsor
from dao.dushuService import db_dushu, updateOneFieldByOneField
from parse.contentHelper import subTitleClean
from util.logHelper import myLogging
def cleanSubtitle():
conn, csor = getDushuConnCsor()
dictCsor = conn.cursor(MySQLdb.cursors.DictCursor)
bookId = 2584584
carry = 50000
while bookId < 2590000:
try:
dictCsor.execute('select id,subtitle from ' + db_dushu
+ " where id >= %s and id <= %s and subtitle REGEXP '[0-9]{5,20}'", (bookId, bookId + carry))
conn.commit()
books = dictCsor.fetchallDict()
for book in books:
newSubtitle = subTitleClean(book['subtitle'])
if not newSubtitle == book['subtitle'].encode('utf-8'):
myLogging.info('bookId %s update from %s to %s', book['id'], book['subtitle'].encode('utf-8'), newSubtitle)
updateOneFieldByOneField('subtitle', newSubtitle, 'id', book['id'])
except Exception as e:
myLogging.warning(e)
bookId += carry
chapObj = dictCsor.fetchoneDict()
csor.close()
conn.close()
if __name__ == '__main__':
# newLineFixer()
# content = subTitleClean('群:579057153')
cleanSubtitle()