Skip to content

Commit d9466a2

Browse files
authored
Merge pull request #16 from Legilibre/factorize-fix
Fix TypeError in factorize module
2 parents 52ffdf3 + 5b75e0f commit d9466a2

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

legi/factorize.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from .utils import connect_db
1111

1212

13-
def connect_by_nature_num():
13+
def connect_by_nature_num(db):
1414
db.run("""
1515
UPDATE textes_versions
1616
SET texte_id = (
@@ -30,7 +30,7 @@ def connect_by_nature_num():
3030
print('connected %i rows of textes_versions based on (nature, num)' % db.changes())
3131

3232

33-
def connect_by_nor():
33+
def connect_by_nor(db):
3434
db.run("""
3535
CREATE TEMP TABLE texte_by_nor AS
3636
SELECT nor, min(texte_id)
@@ -61,7 +61,7 @@ def connect_by_nor():
6161
db.run("DROP TABLE texte_by_nor")
6262

6363

64-
def connect_by_titrefull_s():
64+
def connect_by_titrefull_s(db):
6565
db.run("""
6666
CREATE TEMP TABLE texte_by_titrefull_s AS
6767
SELECT DISTINCT titrefull_s, texte_id
@@ -87,7 +87,7 @@ def connect_by_titrefull_s():
8787
db.run("DROP TABLE texte_by_titrefull_s")
8888

8989

90-
def factorize_by(key):
90+
def factorize_by(db, key):
9191
duplicates = db.all("""
9292
SELECT min(nature), {0}, group_concat(texte_id)
9393
FROM textes_versions
@@ -116,8 +116,8 @@ def factorize_by(key):
116116
print('factorized %i duplicates into %i uniques based on %s' % (total, factorized, key))
117117

118118

119-
def main():
120-
connect_by_nature_num()
119+
def main(db):
120+
connect_by_nature_num(db)
121121

122122
db.run("""
123123
INSERT INTO textes (nature, num)
@@ -131,9 +131,9 @@ def main():
131131
""")
132132
print('inserted %i rows in textes based on (nature, num)' % db.changes())
133133

134-
connect_by_nature_num()
135-
connect_by_nor()
136-
connect_by_titrefull_s()
134+
connect_by_nature_num(db)
135+
connect_by_nor(db)
136+
connect_by_titrefull_s(db)
137137

138138
db.run("""
139139
INSERT INTO textes (nature, nor)
@@ -163,8 +163,8 @@ def main():
163163
""")
164164
print('connected %i rows of textes_versions based on nor' % db.changes())
165165

166-
factorize_by('titrefull_s')
167-
connect_by_titrefull_s()
166+
factorize_by(db, 'titrefull_s')
167+
connect_by_titrefull_s(db)
168168

169169
db.run("""
170170
INSERT INTO textes (nature, titrefull_s)
@@ -191,7 +191,7 @@ def main():
191191
""")
192192
print('connected %i rows of textes_versions based on titrefull_s' % db.changes())
193193

194-
factorize_by('cid')
194+
factorize_by(db, 'cid')
195195

196196
xml = etree.XMLParser(remove_blank_text=True)
197197
q = db.all("""
@@ -253,6 +253,6 @@ def main():
253253
print("> Normalisation des titres...")
254254
normalize(db)
255255
print("> Factorisation des textes...")
256-
main()
256+
main(db)
257257
except KeyboardInterrupt:
258258
pass

tests/test_factorize.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from __future__ import division, print_function, unicode_literals
2+
3+
from legi.factorize import main
4+
from legi.utils import connect_db
5+
6+
7+
def test_factorize():
8+
db = connect_db(':memory:')
9+
main(db)

0 commit comments

Comments
 (0)