Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
	---> 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 = []
Beispiel #4
0
"""

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()
Beispiel #5
0
	---> 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)