FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
allure-python/allure-python-commons/src/logger.py at master · vdsbenoit/allure-python · GitHub
vdsbenoit
/
allure-python
Public
forked from
allure-framework/allure-python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
allure-python
/
allure-python-commons
/
src
/
logger.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
57 lines (47 loc) · 1.84 KB
Breadcrumbs
allure-python
/
allure-python-commons
/
src
/
logger.py
Copy path
File metadata and controls
57 lines (47 loc) · 1.84 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import
io
import
os
import
sys
import
json
import
uuid
import
shutil
from
six
import
text_type
from
attr
import
asdict
from
allure_commons
import
hookimpl
INDENT
=
4
class
AllureFileLogger
(
object
):
def
__init__
(
self
,
report_dir
,
clean
=
False
):
self
.
_report_dir
=
report_dir
if
not
os
.
path
.
exists
(
report_dir
):
os
.
makedirs
(
report_dir
)
elif
clean
:
for
f
in
os
.
listdir
(
report_dir
):
f
=
os
.
path
.
join
(
report_dir
,
f
)
if
os
.
path
.
isfile
(
f
):
os
.
unlink
(
f
)
def
_report_item
(
self
,
item
):
indent
=
INDENT
if
os
.
environ
.
get
(
"ALLURE_INDENT_OUTPUT"
)
else
None
filename
=
item
.
file_pattern
.
format
(
prefix
=
uuid
.
uuid4
())
data
=
asdict
(
item
,
filter
=
lambda
attr
,
value
:
not
(
type
(
value
)
!=
bool
and
not
bool
(
value
)))
with
io
.
open
(
os
.
path
.
join
(
self
.
_report_dir
,
filename
),
'w'
,
encoding
=
'utf8'
)
as
json_file
:
if
sys
.
version_info
.
major
<
3
:
json_file
.
write
(
unicode
(
json
.
dumps
(
data
,
indent
=
indent
,
ensure_ascii
=
False
,
encoding
=
'utf8'
)))
else
:
json
.
dump
(
data
,
json_file
,
indent
=
indent
,
ensure_ascii
=
False
)
@
hookimpl
def
report_result
(
self
,
result
):
self
.
_report_item
(
result
)
@
hookimpl
def
report_container
(
self
,
container
):
self
.
_report_item
(
container
)
@
hookimpl
def
report_attached_file
(
self
,
source
,
file_name
):
destination
=
os
.
path
.
join
(
self
.
_report_dir
,
file_name
)
shutil
.
copy2
(
source
,
destination
)
@
hookimpl
def
report_attached_data
(
self
,
body
,
file_name
):
destination
=
os
.
path
.
join
(
self
.
_report_dir
,
file_name
)
with
open
(
destination
,
'wb'
)
as
attached_file
:
if
isinstance
(
body
,
text_type
):
attached_file
.
write
(
body
.
encode
(
'utf-8'
))
else
:
attached_file
.
write
(
body
)
Back
|
FazBrowse Home
|
New Git URL