Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F61682313
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
Wed, May 8, 07:30
Size
3 KB
Mime Type
text/x-python
Expires
Fri, May 10, 07:30 (2 d)
Engine
blob
Format
Raw Data
Handle
17483274
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'
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
.
tag
,
'faksimile-page'
)
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'
)
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
)
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
)
if
__name__
==
"__main__"
:
unittest
.
main
()
Event Timeline
Log In to Comment