aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2020-10-18 02:18:13 +0200
committerJ08nY2020-10-18 11:49:03 +0200
commitdccf542634bb5714223db2250306837d78774b45 (patch)
tree9d22390a901aab7e9c47dfc35d913f7fda5cd75e
parentdba5ffe5631a58d2d846c13c4fc5801d9cf64438 (diff)
downloadsec-certs-dccf542634bb5714223db2250306837d78774b45.tar.gz
sec-certs-dccf542634bb5714223db2250306837d78774b45.tar.zst
sec-certs-dccf542634bb5714223db2250306837d78774b45.zip
Fix path building to use os.path.join.
-rw-r--r--sec_certs/analyze_certificates.py19
-rw-r--r--sec_certs/download_files.py6
-rw-r--r--sec_certs/extract_certificates.py25
-rwxr-xr-xsec_certs/fips_certificates.py11
-rwxr-xr-xsec_certs/process_certificates.py12
5 files changed, 36 insertions, 37 deletions
diff --git a/sec_certs/analyze_certificates.py b/sec_certs/analyze_certificates.py
index cc0beba4..e2e0358c 100644
--- a/sec_certs/analyze_certificates.py
+++ b/sec_certs/analyze_certificates.py
@@ -1,19 +1,20 @@
import operator
+import string
+import os
+import datetime
+import numpy as np
+import matplotlib.pyplot as plt
+
+from matplotlib.pyplot import figure
+from dateutil import parser
from graphviz import Digraph
from tabulate import tabulate
-import matplotlib.pyplot as plt;
import sanity
+from tags_constants import *
+
plt.rcdefaults()
-import numpy as np
-import matplotlib.pyplot as plt
-from matplotlib.pyplot import figure
-from dateutil import parser
-import datetime
-from tags_constants import *
-import string
-import os
STOP_ON_UNEXPECTED_NUMS = False
diff --git a/sec_certs/download_files.py b/sec_certs/download_files.py
index a877593c..d4334b7f 100644
--- a/sec_certs/download_files.py
+++ b/sec_certs/download_files.py
@@ -1,5 +1,7 @@
import extract_certificates
+import os
+
FILE_ERRORS_STRATEGY = extract_certificates.FILE_ERRORS_STRATEGY
@@ -16,8 +18,8 @@ def generate_fips_download_script(file_name, fips_dir):
:param file_name: name of the download file
:param fips_dir: directory for saved files
"""
- html_dir = fips_dir + '/html/'
- sp_dir = fips_dir + '/security_policies/'
+ html_dir = os.path.join(fips_dir, 'html')
+ sp_dir = os.path.join(fips_dir, 'security_policies')
with open(file_name, 'w', errors=FILE_ERRORS_STRATEGY) as write_file:
# make directories for both html and security policies, scraping in one go
diff --git a/sec_certs/extract_certificates.py b/sec_certs/extract_certificates.py
index 07ff1707..ed09e41a 100644
--- a/sec_certs/extract_certificates.py
+++ b/sec_certs/extract_certificates.py
@@ -1,19 +1,19 @@
-from PyPDF2 import PdfFileReader
-
-import sanity
-from tags_constants import *
+import csv
+import json
import re
import os
import operator
-from graphviz import Digraph
-import json
-import csv
import string
-from analyze_certificates import is_in_dict
-from cert_rules import rules, fips_rules
from enum import Enum
import matplotlib.pyplot as plt
+from PyPDF2 import PdfFileReader
+from graphviz import Digraph
+
+import sanity
+from analyze_certificates import is_in_dict
+from cert_rules import rules, fips_rules
+from tags_constants import *
plt.rcdefaults()
@@ -321,10 +321,9 @@ def save_modified_cert_file(target_file, modified_cert_file_text, is_unicode_tex
try:
write_file.write(modified_cert_file_text)
except UnicodeEncodeError as e:
- write_file.close()
print('UnicodeDecodeError while writing file fragments back')
-
- write_file.close()
+ finally:
+ write_file.close()
def process_raw_header(items_found):
@@ -2408,7 +2407,7 @@ def generate_failed_download_script(base_dir):
MIN_CORRECT_CERT_SIZE = 5000
download_again = []
for sub_folder in sub_folders:
- target_dir = '{}{}{}'.format(base_dir, os.sep, sub_folder)
+ target_dir = os.path.join(base_dir, sub_folder)
# obtain list of all downloaded pdf files and their size
files = search_files(target_dir)
for file_name in files:
diff --git a/sec_certs/fips_certificates.py b/sec_certs/fips_certificates.py
index 035b35ae..3f473ecd 100755
--- a/sec_certs/fips_certificates.py
+++ b/sec_certs/fips_certificates.py
@@ -2,6 +2,7 @@
import json
import os
import re
+import time
from graphviz import Digraph
from PyPDF2 import PdfFileReader, utils
@@ -13,8 +14,6 @@ import extract_certificates
from process_certificates import load_json_files
from cert_rules import rules_fips_htmls as RE_FIPS_HTMLS
-import time
-
FILE_ERRORS_STRATEGY = extract_certificates.FILE_ERRORS_STRATEGY
FIPS_BASE_URL = 'https://csrc.nist.gov'
FIPS_MODULE_URL = 'https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/'
@@ -406,11 +405,11 @@ def main():
for file in files_to_load:
if not os.path.isfile(file):
- fips_items = fips_search_html(FIPS_BASE_DIR + 'html/',
- FIPS_RESULTS_DIR + 'fips_html_all.json', True)
+ fips_items = fips_search_html(os.path.join(FIPS_BASE_DIR, 'html'),
+ os.path.join(FIPS_RESULTS_DIR,'fips_html_all.json'), True)
items = extract_certificates.extract_certificates_keywords(
- FIPS_BASE_DIR + 'security_policies/',
- FIPS_BASE_DIR + 'fragments/', 'fips', fips_items=fips_items,
+ os.path.join(FIPS_BASE_DIR, 'security_policies'),
+ os.path.join(FIPS_BASE_DIR, 'fragments'), 'fips', fips_items=fips_items,
should_censure_right_away=True, write_output_file=True)
with open(FIPS_RESULTS_DIR + 'fips_data_keywords_all.json', 'w') as f:
f.write(json.dumps(items, indent=4, sort_keys=True))
diff --git a/sec_certs/process_certificates.py b/sec_certs/process_certificates.py
index 49c2a6d1..3612eafe 100755
--- a/sec_certs/process_certificates.py
+++ b/sec_certs/process_certificates.py
@@ -1,12 +1,10 @@
#!/usr/bin/env python3
-import sys
+import os
+import json
from extract_certificates import *
from analyze_certificates import *
-import os
-import json
-
def do_all_analysis(all_cert_items, filter_label):
generate_dot_graphs(all_cert_items, filter_label)
@@ -27,7 +25,7 @@ def do_analysis_everything(all_cert_items, current_dir):
def do_analysis_09_01_2019_archival(all_cert_items, current_dir):
- target_folder = current_dir + '\\results_archived01092019_only\\'
+ target_folder = os.path.join(current_dir, 'results_archived01092019_only')
if not os.path.exists(target_folder):
os.makedirs(target_folder)
os.chdir(target_folder)
@@ -81,11 +79,11 @@ def do_analysis_only_category(all_cert_items, current_dir, category):
def do_analysis_only_smartcards(all_cert_items, current_dir):
- do_analysis_only_filtered(all_cert_items, current_dir, ['csv_scan', 'cc_category'], 'ICs, Smart Cards and Smart Card-Related Devices and Systems')
+ do_analysis_only_category(all_cert_items, current_dir, 'ICs, Smart Cards and Smart Card-Related Devices and Systems')
def do_analysis_only_operatingsystems(all_cert_items, current_dir):
- do_analysis_only_category(all_cert_items, current_dir, ['csv_scan', 'cc_category'], 'Operating Systems')
+ do_analysis_only_category(all_cert_items, current_dir, 'Operating Systems')
def load_json_files(files_list):