3
3
< head >
4
4
< meta charset ="utf-8 " />
5
5
< meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
6
- < title > parsedmarc — parsedmarc 8.12 .0 documentation</ title >
6
+ < title > parsedmarc — parsedmarc 8.13 .0 documentation</ title >
7
7
< link rel ="stylesheet " type ="text/css " href ="../_static/pygments.css " />
8
8
< link rel ="stylesheet " type ="text/css " href ="../_static/css/theme.css " />
9
9
35
35
parsedmarc
36
36
</ a >
37
37
< div class ="version ">
38
- 8.12 .0
38
+ 8.13 .0
39
39
</ div >
40
40
< div role ="search ">
41
41
< form id ="rtd-search-form " class ="wy-form " action ="../search.html " method ="get ">
@@ -121,7 +121,7 @@ <h1>Source code for parsedmarc</h1><div class="highlight"><pre>
121
121
< span class ="kn "> from</ span > < span class ="nn "> parsedmarc.utils</ span > < span class ="kn "> import</ span > < span class ="n "> parse_email</ span >
122
122
< span class ="kn "> from</ span > < span class ="nn "> parsedmarc.utils</ span > < span class ="kn "> import</ span > < span class ="n "> timestamp_to_human</ span > < span class ="p "> ,</ span > < span class ="n "> human_timestamp_to_datetime</ span >
123
123
124
- < span class ="n "> __version__</ span > < span class ="o "> =</ span > < span class ="s2 "> "8.12 .0"</ span >
124
+ < span class ="n "> __version__</ span > < span class ="o "> =</ span > < span class ="s2 "> "8.13 .0"</ span >
125
125
126
126
< span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "parsedmarc v</ span > < span class ="si "> {0}</ span > < span class ="s2 "> "</ span > < span class ="o "> .</ span > < span class ="n "> format</ span > < span class ="p "> (</ span > < span class ="n "> __version__</ span > < span class ="p "> ))</ span >
127
127
@@ -678,14 +678,19 @@ <h1>Source code for parsedmarc</h1><div class="highlight"><pre>
678
678
< span class ="sd "> str: The extracted text</ span >
679
679
680
680
< span class ="sd "> """</ span >
681
+ < span class ="k "> def</ span > < span class ="nf "> is_base64</ span > < span class ="p "> (</ span > < span class ="n "> s</ span > < span class ="p "> ):</ span >
682
+ < span class ="n "> base64_regex</ span > < span class ="o "> =</ span > < span class ="n "> re</ span > < span class ="o "> .</ span > < span class ="n "> compile</ span > < span class ="p "> (</ span > < span class ="sa "> r</ span > < span class ="s1 "> '^[A-Za-z0-9+/=]+\Z'</ span > < span class ="p "> )</ span >
683
+ < span class ="k "> return</ span > < span class ="nb "> bool</ span > < span class ="p "> (</ span > < span class ="n "> base64_regex</ span > < span class ="o "> .</ span > < span class ="n "> match</ span > < span class ="p "> (</ span > < span class ="n "> s</ span > < span class ="p "> ))</ span >
684
+
681
685
< span class ="k "> try</ span > < span class ="p "> :</ span >
682
- < span class ="n "> file_object</ span > < span class ="o "> =</ span > < span class ="n "> BytesIO</ span > < span class ="p "> ()</ span >
683
- < span class ="k "> if</ span > < span class ="nb "> type</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="nb "> str</ span > < span class ="p "> :</ span >
684
- < span class ="k "> try</ span > < span class ="p "> :</ span >
685
- < span class ="n "> file_object</ span > < span class ="o "> =</ span > < span class ="n "> BytesIO</ span > < span class ="p "> (</ span > < span class ="n "> b64decode</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> ))</ span >
686
- < span class ="k "> except</ span > < span class ="n "> binascii</ span > < span class ="o "> .</ span > < span class ="n "> Error</ span > < span class ="p "> :</ span >
687
- < span class ="k "> pass</ span >
688
- < span class ="k "> if</ span > < span class ="n "> file_object</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
686
+ < span class ="n "> file_object</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
687
+ < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> ,</ span > < span class ="nb "> str</ span > < span class ="p "> ):</ span >
688
+ < span class ="k "> if</ span > < span class ="n "> is_base64</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> ):</ span >
689
+ < span class ="k "> try</ span > < span class ="p "> :</ span >
690
+ < span class ="n "> file_object</ span > < span class ="o "> =</ span > < span class ="n "> BytesIO</ span > < span class ="p "> (</ span > < span class ="n "> b64decode</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> ))</ span >
691
+ < span class ="k "> except</ span > < span class ="n "> binascii</ span > < span class ="o "> .</ span > < span class ="n "> Error</ span > < span class ="p "> :</ span >
692
+ < span class ="k "> pass</ span >
693
+ < span class ="k "> else</ span > < span class ="p "> :</ span >
689
694
< span class ="n "> file_object</ span > < span class ="o "> =</ span > < span class ="nb "> open</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> ,</ span > < span class ="s2 "> "rb"</ span > < span class ="p "> )</ span >
690
695
< span class ="k "> elif</ span > < span class ="nb "> type</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="nb "> bytes</ span > < span class ="p "> :</ span >
691
696
< span class ="n "> file_object</ span > < span class ="o "> =</ span > < span class ="n "> BytesIO</ span > < span class ="p "> (</ span > < span class ="n "> input_</ span > < span class ="p "> )</ span >
@@ -700,7 +705,7 @@ <h1>Source code for parsedmarc</h1><div class="highlight"><pre>
700
705
< span class ="n "> errors</ span > < span class ="o "> =</ span > < span class ="s1 "> 'ignore'</ span > < span class ="p "> )</ span >
701
706
< span class ="k "> elif</ span > < span class ="n "> header</ span > < span class ="o "> .</ span > < span class ="n "> startswith</ span > < span class ="p "> (</ span > < span class ="n "> MAGIC_GZIP</ span > < span class ="p "> ):</ span >
702
707
< span class ="n "> report</ span > < span class ="o "> =</ span > < span class ="n "> zlib</ span > < span class ="o "> .</ span > < span class ="n "> decompress</ span > < span class ="p "> (</ span >
703
- < span class ="n "> file_object</ span > < span class ="o "> .</ span > < span class ="n "> getvalue </ span > < span class ="p "> (),</ span >
708
+ < span class ="n "> file_object</ span > < span class ="o "> .</ span > < span class ="n "> read </ span > < span class ="p "> (),</ span >
704
709
< span class ="n "> zlib</ span > < span class ="o "> .</ span > < span class ="n "> MAX_WBITS</ span > < span class ="o "> |</ span > < span class ="mi "> 16</ span > < span class ="p "> )</ span > < span class ="o "> .</ span > < span class ="n "> decode</ span > < span class ="p "> (</ span > < span class ="n "> errors</ span > < span class ="o "> =</ span > < span class ="s1 "> 'ignore'</ span > < span class ="p "> )</ span >
705
710
< span class ="k "> elif</ span > < span class ="n "> header</ span > < span class ="o "> .</ span > < span class ="n "> startswith</ span > < span class ="p "> (</ span > < span class ="n "> MAGIC_XML</ span > < span class ="p "> )</ span > < span class ="ow "> or</ span > < span class ="n "> header</ span > < span class ="o "> .</ span > < span class ="n "> startswith</ span > < span class ="p "> (</ span > < span class ="n "> MAGIC_JSON</ span > < span class ="p "> ):</ span >
706
711
< span class ="n "> report</ span > < span class ="o "> =</ span > < span class ="n "> file_object</ span > < span class ="o "> .</ span > < span class ="n "> read</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> decode</ span > < span class ="p "> (</ span > < span class ="n "> errors</ span > < span class ="o "> =</ span > < span class ="s1 "> 'ignore'</ span > < span class ="p "> )</ span >
0 commit comments