Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F84253199
test_faksimile.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Sep 21, 15:57
Size
4 KB
Mime Type
text/x-python
Expires
Mon, Sep 23, 15:57 (2 d)
Engine
blob
Format
Raw Data
Handle
20919487
Attached To
rNIETZSCHEPYTHON nietzsche-python
test_faksimile.py
View Options
import
unittest
from
os
import
sep
,
path
from
os.path
import
isdir
,
dirname
,
basename
import
lxml.etree
as
ET
import
sys
import
sys
sys
.
path
.
append
(
'svgscripts'
)
from
datatypes.faksimile
import
FaksimilePage
,
get_paths_inside_rect
from
datatypes.faksimile_image
import
FaksimileImage
from
datatypes.text_field
import
TextField
class
TestFaksimilePage
(
unittest
.
TestCase
):
def
setUp
(
self
):
DATADIR
=
dirname
(
__file__
)
+
sep
+
'test_data'
if
not
isdir
(
DATADIR
):
DATADIR
=
dirname
(
dirname
(
__file__
))
+
sep
+
'test_data'
self
.
svg_file
=
DATADIR
+
sep
+
'W-II-1,49et50.svg'
self
.
svg_testmatrix
=
DATADIR
+
sep
+
'TESTMATRIX_1.svg'
self
.
faksimile_dir
=
DATADIR
+
sep
+
'faksimile_svg'
self
.
faksimile_file
=
self
.
faksimile_dir
+
sep
+
'N-VII-1,5et6.svg'
self
.
faksimile_rotate90
=
self
.
faksimile_dir
+
sep
+
'Mp-XV-2c,4.svg'
def
test_init
(
self
):
image
=
FaksimileImage
(
file_name
=
'test.jpg'
,
height
=
10
,
width
=
10
)
text_field
=
TextField
(
width
=
10
,
height
=
10
,
x
=
10
,
y
=
10
)
faksimile
=
FaksimilePage
(
title
=
'test'
,
page_number
=
1
,
faksimile_image
=
image
,
text_field
=
text_field
)
self
.
assertEqual
(
faksimile
.
page_tree
.
getroot
()
.
get
(
'title'
),
'test'
)
self
.
assertEqual
(
faksimile
.
page_tree
.
getroot
()
.
get
(
'page-number'
),
'1'
)
self
.
assertEqual
(
faksimile
.
faksimile_image
.
width
,
10
)
self
.
assertEqual
(
faksimile
.
text_field
.
width
,
10
)
def
test_GET_TEXTFIELDS
(
self
):
svg_tree
=
ET
.
parse
(
self
.
svg_file
)
pages
=
FaksimilePage
.
GET_FAKSIMILEPAGES
(
svg_tree
)
self
.
assertEqual
(
len
(
pages
),
2
)
text_field
=
pages
[
0
]
.
text_field
self
.
assertEqual
(
text_field
.
width
,
663.333
)
result_dir
=
'.{}xml{}'
.
format
(
sep
,
sep
)
if
isdir
(
'xml'
)
else
''
self
.
assertEqual
(
pages
[
0
]
.
xml_file
,
result_dir
+
'W-II-1_49.xml'
)
self
.
assertEqual
(
pages
[
0
]
.
title
,
'W II 1'
)
self
.
assertEqual
(
pages
[
0
]
.
page_number
,
'49'
)
pages
=
FaksimilePage
.
GET_FAKSIMILEPAGES
(
svg_tree
,
page_number
=
'49'
)
self
.
assertEqual
(
len
(
pages
),
1
)
svg_tree
=
ET
.
parse
(
self
.
svg_testmatrix
)
pages
=
FaksimilePage
.
GET_FAKSIMILEPAGES
(
svg_tree
)
self
.
assertEqual
(
len
(
pages
),
1
)
self
.
assertEqual
(
len
(
pages
[
0
]
.
word_positions
),
1
)
self
.
assertEqual
(
pages
[
0
]
.
word_positions
[
0
]
.
transform
.
toCSSTransformString
(),
'rotate(45deg)'
)
svg_tree
=
ET
.
parse
(
self
.
faksimile_file
)
pages
=
FaksimilePage
.
GET_FAKSIMILEPAGES
(
svg_tree
)
self
.
assertEqual
(
len
(
pages
),
2
)
textfield_id
=
pages
[
1
]
.
title
.
replace
(
' '
,
'-'
)
+
'_'
+
pages
[
1
]
.
page_number
#print([ position.id for position in pages[0].word_positions])
self
.
assertEqual
(
textfield_id
not
in
[
position
.
id
for
position
in
pages
[
0
]
.
word_positions
],
True
)
self
.
assertEqual
(
'path1237'
in
[
position
.
id
for
position
in
pages
[
0
]
.
word_positions
],
True
)
self
.
assertEqual
(
'Vorgangs'
in
[
position
.
text
for
position
in
pages
[
0
]
.
word_positions
],
False
)
svg_tree
=
ET
.
parse
(
self
.
faksimile_file
)
pages
=
FaksimilePage
.
GET_FAKSIMILEPAGES
(
svg_tree
)
self
.
assertEqual
(
len
(
pages
),
2
)
self
.
assertEqual
(
pages
[
0
]
.
page_number
,
'5'
)
"""
svg_tree = ET.parse('/home/knister0/ownCloud/nietzscheDE/Bearbeitung_Faksimile/Eric/Kontrolle_und_Beschriftung_der_Wortrahmen/Fertig/W-II-1,141et142.svg')
pages = FaksimilePage.GET_FAKSIMILEPAGES(svg_tree)
self.assertEqual(len(pages), 1)
"""
svg_tree
=
ET
.
parse
(
self
.
faksimile_rotate90
)
namespaces
=
{
k
if
k
is
not
None
else
'ns'
:
v
for
k
,
v
in
svg_tree
.
getroot
()
.
nsmap
.
items
()
}
pages
=
FaksimilePage
.
GET_FAKSIMILEPAGES
(
svg_tree
)
self
.
assertEqual
(
len
(
pages
),
1
)
self
.
assertEqual
(
len
(
pages
[
0
]
.
word_positions
),
len
(
svg_tree
.
xpath
(
'//ns:rect/ns:title'
,
namespaces
=
namespaces
)))
def
test_get_paths_inside_rect
(
self
):
svg_tree
=
ET
.
parse
(
self
.
faksimile_file
)
paths
=
get_paths_inside_rect
(
svg_tree
,
'//ns:path'
,
360
,
786
,
92
,
765
,
'N-VII-1_5'
)
self
.
assertEqual
(
len
(
paths
),
1
)
svg_tree
=
ET
.
parse
(
self
.
svg_testmatrix
)
paths
=
get_paths_inside_rect
(
svg_tree
,
'//ns:rect/ns:title'
,
0
,
2038.72
,
0
,
974.08002
,
'TESTMATRIX_1'
)
self
.
assertEqual
(
len
(
paths
),
1
)
svg_tree
=
ET
.
parse
(
'/home/knister0/ownCloud/nietzscheDE/Bearbeitung_Faksimile/Myriam/Mp_XIV/Kontrolle_und_Beschriftung_der_Wortrahmen/Fertig/Mp-XIV-1,419a.svg'
)
namespaces
=
{
k
if
k
is
not
None
else
'ns'
:
v
for
k
,
v
in
svg_tree
.
getroot
()
.
nsmap
.
items
()
}
paths
=
get_paths_inside_rect
(
svg_tree
,
'//ns:rect'
,
52
,
800
,
58
,
900
,
'Mp-XIV-1_419a'
,
namespaces
=
namespaces
)
self
.
assertEqual
(
len
([
path
for
path
in
paths
if
'seinen'
in
path
.
xpath
(
'./ns:title/text()'
,
namespaces
=
namespaces
)]),
1
)
if
__name__
==
"__main__"
:
unittest
.
main
()
Event Timeline
Log In to Comment