-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdump_comparisons.py
More file actions
42 lines (34 loc) · 1.41 KB
/
dump_comparisons.py
File metadata and controls
42 lines (34 loc) · 1.41 KB
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
from database import *
from database.models import *
from sqlalchemy.orm import aliased
import sys
file_path = sys.argv[1]
session = Session()
section_alias = aliased(Section, name='section_alias')
author_alias = aliased(Author, name='author_alias')
text_alias = aliased(Text, name='text_alias')
text_one_sections = session.query(Comparison,\
Section,\
section_alias,\
Author,\
author_alias,\
Text,\
text_alias\
)\
.join(Section, Comparison.text_one==Section.id)\
.join(Text, Section.source_text==Text.id)\
.join(Author, Text.author==Author.id)\
.join(section_alias, Comparison.text_two==section_alias.id)\
.join(text_alias, section_alias.source_text==text_alias.id)\
.join(author_alias, text_alias.author==author_alias.id)
output = ""
for item in text_one_sections:
output = output + item.Author.name + ','\
+ item.Text.name + ','\
+ str(item.Section.number) + ','\
+ str(item.Comparison.cosine_similarity) + ','\
+ item.author_alias.name + ','\
+ item.text_alias.name + ','\
+ str(item.section_alias.number) + '\n'
with open(file_path, 'w') as out:
out.write(output)