diff options
| author | J08nY | 2020-10-18 02:18:13 +0200 |
|---|---|---|
| committer | J08nY | 2020-10-18 11:49:03 +0200 |
| commit | dccf542634bb5714223db2250306837d78774b45 (patch) | |
| tree | 9d22390a901aab7e9c47dfc35d913f7fda5cd75e | |
| parent | dba5ffe5631a58d2d846c13c4fc5801d9cf64438 (diff) | |
| download | sec-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.py | 19 | ||||
| -rw-r--r-- | sec_certs/download_files.py | 6 | ||||
| -rw-r--r-- | sec_certs/extract_certificates.py | 25 | ||||
| -rwxr-xr-x | sec_certs/fips_certificates.py | 11 | ||||
| -rwxr-xr-x | sec_certs/process_certificates.py | 12 |
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): |
