projects
/
iramuteq
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sub correction
[iramuteq]
/
corpus.py
diff --git
a/corpus.py
b/corpus.py
index
ec4855b
..
0d661d6
100644
(file)
--- a/
corpus.py
+++ b/
corpus.py
@@
-17,6
+17,7
@@
from operator import itemgetter
from uuid import uuid4
from chemins import PathOut
from dialog import CorpusPref, SubTextFromMetaDial
from uuid import uuid4
from chemins import PathOut
from dialog import CorpusPref, SubTextFromMetaDial
+from copy import copy
from colors import colors
import datetime
from colors import colors
import datetime
@@
-33,6
+34,16
@@
def copycorpus(corpus) :
copy_corpus.conn_all()
return copy_corpus
copy_corpus.conn_all()
return copy_corpus
+def CopyUce(uce) :
+ return Uce(uce.ident, uce.para, uce.uci)
+
+
+def CopyUci(uci):
+ nuci = Uci(uci.ident, '')
+ nuci.etoiles = copy(uci.etoiles)
+ nuci.uces = [CopyUce(uce) for uce in uci.uces]
+ return nuci
+
class Corpus :
class Corpus :
@@
-94,9
+105,7
@@
class Corpus :
else :
self.idformesuces[self.formes[word.forme].ident] = {stident: 1}
else :
else :
self.idformesuces[self.formes[word.forme].ident] = {stident: 1}
else :
- self.formes[word.forme] = word
- self.formes[word.forme].ident = len(self.formes)
- self.formes[word.forme].freq = 1
+ self.formes[word.forme] = Word(word.forme, word.gram, len(self.formes), word.lem)
self.idformesuces[self.formes[word.forme].ident] = {stident : 1}
def conn_all(self):
self.idformesuces[self.formes[word.forme].ident] = {stident : 1}
def conn_all(self):
@@
-1315,7
+1324,7
@@
class BuildSubCorpus(BuildCorpus):
self.corpus.parametres['uuid'] = str(uuid4())
if parametres.get('frommeta', False) :
print 'make subtexts'
self.corpus.parametres['uuid'] = str(uuid4())
if parametres.get('frommeta', False) :
print 'make subtexts'
- self.corpus.ucis = [
uci
for uci in self.ori.ucis if set(parametres['meta']).intersection(uci.etoiles) != set()]
+ self.corpus.ucis = [
CopyUci(uci)
for uci in self.ori.ucis if set(parametres['meta']).intersection(uci.etoiles) != set()]
elif parametres.get('fromtheme', False) :
print 'make subtexts from theme'
idpara = 0
elif parametres.get('fromtheme', False) :
print 'make subtexts from theme'
idpara = 0
@@
-1325,13
+1334,14
@@
class BuildSubCorpus(BuildCorpus):
newpara = []
for et in uci.paras :
if et in parametres['meta'] :
newpara = []
for et in uci.paras :
if et in parametres['meta'] :
- newuce += [
uce
for uce in uci.uces if uce.para == idpara]
+ newuce += [
CopyUce(uce)
for uce in uci.uces if uce.para == idpara]
newpara.append(et)
idpara += 1
if newuce != [] :
newpara.append(et)
idpara += 1
if newuce != [] :
- uci.uces = newuce
- uci.paras = newpara
- self.corpus.ucis.append(uci)
+ nuci = CopyUci(uci)
+ nuci.uces = newuce
+ nuci.paras = newpara
+ self.corpus.ucis.append(nuci)
else :
idpara += 1
elif parametres.get('fromcluster', False) :
else :
idpara += 1
elif parametres.get('fromcluster', False) :
@@
-1342,24
+1352,26
@@
class BuildSubCorpus(BuildCorpus):
idpara = 0
for uci in self.ori.ucis :
if uci.paras == [] :
idpara = 0
for uci in self.ori.ucis :
if uci.paras == [] :
- keepuces = [
uce
for uce in uci.uces if uce.ident in dictucekeep]
+ keepuces = [
CopyUce(uce)
for uce in uci.uces if uce.ident in dictucekeep]
if keepuces != [] :
if keepuces != [] :
- uci.uces = keepuces
- self.corpus.ucis.append(uci)
+ nuci = CopyUci(uci)
+ nuci.uces = keepuces
+ self.corpus.ucis.append(nuci)
idpara += 1
else :
newuces = []
newpara = []
for et in uci.paras :
idpara += 1
else :
newuces = []
newpara = []
for et in uci.paras :
- keepuces = [
uce
for uce in uci.uces if uce.para == idpara]
+ keepuces = [
CopyUce(uce)
for uce in uci.uces if uce.para == idpara]
idpara += 1
if keepuces != [] :
newuces += keepuces
newpara.append(et)
if newuces != [] :
idpara += 1
if keepuces != [] :
newuces += keepuces
newpara.append(et)
if newuces != [] :
- uci.uces = newuces
- uci.paras = newpara
- self.corpus.ucis.append(uci)
+ nuci = CopyUci(uci)
+ nuci.uces = newuces
+ nuci.paras = newpara
+ self.corpus.ucis.append(nuci)
#create database
self.connect()
#create database
self.connect()