def update(args=None): start = datetime.datetime.now() getfile = FILE_PREFIX + FILE_MODIFIED + FILE_SUFFIX try: print('[+] Downloading ~modified~ file: %s' % SOURCE_CVE + getfile) (f, r) = getFile(SOURCE_CVE + getfile) except: return "Cannot open url: %s" % (SOURCE_CVE + getfile) i = get_info("cves") last_modified = parse_datetime(r.headers['last-modified'], ignoretz=True) if i is not None: if last_modified == i['last-modified']: print("[-] Not modified") sys.exit(0) set_collection_update("cves", last_modified) parser = make_parser() ch = CVEHandler() parser.setContentHandler(ch) parser.parse(f) print('[+] File ~modified~ parsed') for item in ch.cves: x = get_cve(item['id']) if x: if 'cvss' not in item: item['cvss'] = None if 'cwe' not in item: item['cwe'] = DEFAULTVALUE['cwe'] pool.add_task(update_cve, item) else: pool.add_task(insert_cve, item) getfile = FILE_PREFIX + FILE_RECENT + FILE_SUFFIX try: print('[+] Downloading ~recent~ file: %s' % SOURCE_CVE + getfile) (f, r) = getFile(SOURCE_CVE + getfile) except: return "[-] Cannot open url: %s" % (SOURCE_CVE + getfile) parser = make_parser() ch = CVEHandler() parser.setContentHandler(ch) parser.parse(f) print('[+] File ~recent~ parsed') for item in progressbar(ch.cves): x = get_cve(item['id']) if x: if 'cvss' not in item: item['cvss'] = None else: item['cvss'] = float(item['cvss']) if 'cwe' not in item: item['cwe'] = DEFAULTVALUE['cwe'] pool.add_task(update_cve, item) else: pool.add_task(insert_cve, item) pool.wait_completion() end = datetime.datetime.now() delta = end - start print('[!] Completed in: %s' % delta)
def populate(args=None): start = datetime.datetime.now() if get_collection_size('cves') > 0: print("[-] Database already populated") else: print("[+] Database population started") year = datetime.datetime.now().year + 1 for x in range(START_YEAR, year): print('[+] Processing year: %s' % x) parser = make_parser() ch = CVEHandler() parser.setContentHandler(ch) getfile = FILE_PREFIX + str(x) + FILE_SUFFIX try: print('[+] Downloading cves file: %s' % SOURCE_CVE + getfile) (f, r) = getFile(SOURCE_CVE + getfile) except: return "[-] Cannot open url: %s" % (SOURCE_CVE + getfile) parser.parse(f) print('[+] File parsed') for item in ch.cves: if 'cvss' in item: item['cvss'] = float(item['cvss']) if len(ch.cves) != 0: print("[+] Importing CVEs for year " + str(x)) pool.add_task(insert_cve, ch.cves) else: print("[!] Year " + str(x) + " has no CVE's.") pool.wait_completion() end = datetime.datetime.now() delta = end - start print('[+] Complete in: %s' % delta)
---> Beylerbey """ import geopandas as gpd import imageio import matplotlib.pyplot as plt import pandas as pd import sys from getfile import getFile """ Récupération du fichier contenant les coordonnées pour le dessin de la carte du Sénégal qui sont ensuite placées dans un tableau """ if getFile('..', 'SNregions.json') == 1: sys.exit() senegal = gpd.read_file(getFile('..', 'SNregions.json')) """ Régions du Sénégal """ regionsSN = ('DAKAR', 'DIOURBEL', 'FATICK', 'KAFFRINE', 'KAOLACK', 'KEDOUGOU', 'KOLDA', 'LOUGA', 'MATAM', 'SAINT LOUIS', 'SEDHIOU', 'TAMBACOUNDA', 'THIES', 'ZIGUINCHOR') # Fixation de la taille de l'espace du rendu plt.rcParams['figure.figsize'] = (20, 10) """ % d'admis dans chaque région du Sénégal entre 2012 et 2016 """ images = []
""" import geopandas as gpd import imageio import matplotlib.pyplot as plt import pandas as pd import sys from getfile import getFile """ Récupération du fichier contenant les coordonnées pour le dessin de la carte du Sénégal qui sont ensuite placées dans un tableau """ if getFile('..', 'SNregions.json') == 1 : sys.exit() senegal = gpd.read_file(getFile('..', 'SNregions.json')) """ Régions du Sénégal """ regionsSN = ('DAKAR', 'DIOURBEL', 'FATICK', 'KAFFRINE', 'KAOLACK', 'KEDOUGOU', 'KOLDA', 'LOUGA', 'MATAM', 'SAINT LOUIS', 'SEDHIOU', 'TAMBACOUNDA', 'THIES', 'ZIGUINCHOR') """ Nombres de candidats au bac entre 2012 et 2016 """ if getFile('.', 'BAC_candidates_per_year.csv') == 1 : exit()
---> Beylerbey """ import geopandas as gpd import imageio import matplotlib.pyplot as plt import pandas as pd import sys from getfile import getFile """ Récupération du fichier contenant les coordonnées pour le dessin de la carte du Sénégal qui sont ensuite placées dans un tableau """ if getFile('..', 'SNregions.json') == 1: sys.exit() senegal = gpd.read_file(getFile('..', 'SNregions.json')) """ Régions du Sénégal """ regionsSN = ('DAKAR', 'DIOURBEL', 'FATICK', 'KAFFRINE', 'KAOLACK', 'KEDOUGOU', 'KOLDA', 'LOUGA', 'MATAM', 'SAINT LOUIS', 'SEDHIOU', 'TAMBACOUNDA', 'THIES', 'ZIGUINCHOR') """ Nombres de bacheliers entre 2012 et 2016 """ if getFile('.', 'BAC_results_per_year.csv') == 1: exit() total_admis = pd.read_csv(getFile('.', 'BAC_results_per_year.csv'), index_col=0)