Hello community,

here is the log from the commit of package python-pymisp for openSUSE:Factory 
checked in at 2020-05-11 13:42:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pymisp (Old)
 and      /work/SRC/openSUSE:Factory/.python-pymisp.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pymisp"

Mon May 11 13:42:23 2020 rev:26 rq:802508 version:2.4.125

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pymisp/python-pymisp.changes      
2020-04-21 13:09:07.300627328 +0200
+++ /work/SRC/openSUSE:Factory/.python-pymisp.new.2738/python-pymisp.changes    
2020-05-11 13:42:30.853267228 +0200
@@ -1,0 +2,22 @@
+Sun May  3 13:18:26 UTC 2020 - Sebastian Wagner <sebix+novell....@sebix.at>
+
+- update to version 2.4.125:
+ - New
+   - Extended option on get event. [Raphaël Vinot]
+     Related to #567
+ - Changes
+   - Bump objects, deps. [Raphaël Vinot]
+   - Bump dependencies. [Raphaël Vinot]
+   - Remove old suricata script, keep reference to old code. [Raphaël
+     Vinot]
+ - Fix
+   - Enable autoalert on admin user. [Raphaël Vinot]
+   - [abstract] Forces file to be read with utf8 encoding. [mokaddem]
+   - Properly handle timezone in tests. [Raphaël Vinot]
+ - Other
+   - Update up.py. [Raphaël Vinot]
+     Fix #563
+   - Fixed __query_virustotal return type. [DocArmoryTech]
+     __query_virustotal returned a Response object and not the json expected; 
modified so that report_json is returned instead of report.
+
+-------------------------------------------------------------------

Old:
----
  python-pymisp-2.4.124.tar.gz

New:
----
  python-pymisp-2.4.125.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pymisp.spec ++++++
--- /var/tmp/diff_new_pack.1ZtfYE/_old  2020-05-11 13:42:31.969269596 +0200
+++ /var/tmp/diff_new_pack.1ZtfYE/_new  2020-05-11 13:42:31.973269605 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-pymisp
-Version:        2.4.124
+Version:        2.4.125
 Release:        0
 Summary:        Python API for MISP
 License:        BSD-2-Clause
@@ -27,7 +27,7 @@
 URL:            https://github.com/MISP/PyMISP
 Source0:        
https://github.com/MISP/PyMISP/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 # github tarball misses the misp-objects subproject data
-Source1:        
https://github.com/MISP/misp-objects/archive/3a87dfd0832a576d53d7665bd93451dec7bc59f1.tar.gz#/misp-objects.tar.gz
+Source1:        
https://github.com/MISP/misp-objects/archive/84a7bb07a4f1807546cf5c2e03b35dbc0773699d.tar.gz#/misp-objects.tar.gz
 # pypi tarball missing some files: https://github.com/MISP/PyMISP/issues/554
 #Source:         
https://files.pythonhosted.org/packages/source/p/pymisp/pymisp-%%{version}.tar.gz
 BuildRequires:  %{python_module setuptools}

++++++ misp-objects.tar.gz ++++++
++++ 24956 lines of diff (skipped)

++++++ python-pymisp-2.4.124.tar.gz -> python-pymisp-2.4.125.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/CHANGELOG.txt 
new/PyMISP-2.4.125/CHANGELOG.txt
--- old/PyMISP-2.4.124/CHANGELOG.txt    2020-03-30 09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/CHANGELOG.txt    2020-04-30 10:25:16.000000000 +0200
@@ -2,11 +2,44 @@
 =========
 
 
+v2.4.125 (2020-04-30)
+---------------------
+
+New
+~~~
+- Extended option on get event. [Raphaël Vinot]
+
+  Related to #567
+
+Changes
+~~~~~~~
+- Bump objects, deps. [Raphaël Vinot]
+- Bump dependencies. [Raphaël Vinot]
+- Remove old suricata script, keep reference to old code. [Raphaël
+  Vinot]
+
+Fix
+~~~
+- Enable autoalert on admin user. [Raphaël Vinot]
+- [abstract] Forces file to be read with utf8 encoding. [mokaddem]
+- Properly handle timezone in tests. [Raphaël Vinot]
+
+Other
+~~~~~
+- Update up.py. [Raphaël Vinot]
+
+  Fix #563
+- Fixed __query_virustotal return type. [DocArmoryTech]
+
+  __query_virustotal returned a Response object and not the json expected; 
modified so that report_json is returned instead of report.
+
+
 v2.4.124 (2020-03-30)
 ---------------------
 
 Changes
 ~~~~~~~
+- Bump changelog. [Raphaël Vinot]
 - Bump version. [Raphaël Vinot]
 - Bump dependencies. [Raphaël Vinot]
 - Bump misp-objects. [Raphaël Vinot]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/examples/suricata_search/README.md 
new/PyMISP-2.4.125/examples/suricata_search/README.md
--- old/PyMISP-2.4.124/examples/suricata_search/README.md       2020-03-30 
09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/examples/suricata_search/README.md       2020-04-30 
10:25:16.000000000 +0200
@@ -1,24 +1,3 @@
-# Description
-Get all attributes, from a MISP (https://github.com/MISP) instance, that can 
be converted into Suricata rules, given a *parameter* and a *term* to search
+This script was outdated and didn't work on the current version of PyMISP.
 
-**requires**
-* PyMISP (https://github.com/CIRCL/PyMISP/)
-* python 2.7 or python3 (suggested)
-
-
- # Usage
- * **suricata_search.py -p tags -s 'APT' -o misp_ids.rules -t 5**
-    - search for 'APT' tag
-    - use 5 threads while generating IDS rules
-    - dump results to misp_ids.rules
-    
- * **suricata_search.py -p tags -s 'APT' -o misp_ids.rules -ne 411 357 343**
-    - same as above, but skip events ID 411,357 and 343
-    
- * **suricata_search.py -p tags -s 'circl:incident-classification="malware", 
tlp:green' -o misp_ids.rules**
-    - search for multiple tags 'circl:incident-classification="malware", 
tlp:green'
-    
- * **suricata_search.py -p categories -s 'Artifacts dropped' -t 20 -o 
artifacts_dropped.rules**
-    - search for category 'Artifacts dropped'
-    - use 20 threads while generating IDS rules
-    - dump results to artifacts_dropped.rules
\ No newline at end of file
+For reference, you can look at this repository: 
https://github.com/raw-data/pymisp-suricata_search
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PyMISP-2.4.124/examples/suricata_search/suricata_search.py 
new/PyMISP-2.4.125/examples/suricata_search/suricata_search.py
--- old/PyMISP-2.4.124/examples/suricata_search/suricata_search.py      
2020-03-30 09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/examples/suricata_search/suricata_search.py      
1970-01-01 01:00:00.000000000 +0100
@@ -1,216 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-"""
-https://github.com/raw-data/pymisp-suricata_search
-
-    2017.06.28  start
-    2017.07.03  fixed args.quiet and status msgs
-
-"""
-
-import argparse
-import os
-import queue
-import sys
-from threading import Thread, enumerate
-from keys import misp_url, misp_key, misp_verifycert
-
-try:
-    from pymisp import PyMISP
-except ImportError as err:
-    sys.stderr.write("ERROR: {}\n".format(err))
-    sys.stderr.write("\t[try] with pip install pymisp\n")
-    sys.stderr.write("\t[try] with pip3 install pymisp\n")
-    sys.exit(1)
-
-HEADER = """
-#This part might still contain bugs, use and your own risk and report any 
issues.
-#
-# MISP export of IDS rules - optimized for suricata
-#
-# These NIDS rules contain some variables that need to exist in your 
configuration.
-# Make sure you have set:
-#
-# $HOME_NET    - Your internal network range
-# $EXTERNAL_NET - The network considered as outside
-# $SMTP_SERVERS - All your internal SMTP servers
-# $HTTP_PORTS   - The ports used to contain HTTP traffic (not required with 
suricata export)
-# 
-"""
-
-# queue for events matching searched term/s
-IDS_EVENTS = queue.Queue()
-
-# queue for downloaded Suricata rules
-DOWNLOADED_RULES = queue.Queue()
-
-# Default number of threads to use
-THREAD = 4
-
-try:
-    input = raw_input
-except NameError:
-    pass
-
-
-def init():
-    """ init connection to MISP """
-    return PyMISP(misp_url, misp_key, misp_verifycert, 'json')
-
-
-def search(misp, quiet, noevent, **kwargs):
-    """ Start search in MISP """
-
-    result = misp.search(**kwargs)
-
-    # fetch all events matching **kwargs
-    track_events = 0
-    skip_events = list()
-    for event in result['response']:
-        event_id = event["Event"].get("id")
-        track_events += 1
-
-        to_ids = False
-        for attribute in event["Event"]["Attribute"]:
-            to_ids_event = attribute["to_ids"]
-            if to_ids_event:
-                to_ids = True
-                break
-
-        # if there is at least one eligible event to_ids, add event_id
-        if to_ids:
-            # check if the event_id is not blacklisted by the user
-            if isinstance(noevent, list):
-                if event_id not in noevent[0]:
-                    to_ids_event = (event_id, misp)
-                    IDS_EVENTS.put(to_ids_event)
-                else:
-                    skip_events.append(event_id)
-            else:
-                to_ids_event = (event_id, misp)
-                IDS_EVENTS.put(to_ids_event)
-
-    if not quiet:
-        print ("\t[i] matching events: {}".format(track_events))
-        if len(skip_events) > 0:
-            print ("\t[i] skipped {0} events -> 
{1}".format(len(skip_events),skip_events))
-        print ("\t[i] events selected for IDS export: 
{}".format(IDS_EVENTS.qsize()))
-
-
-def collect_rules(thread):
-    """ Dispatch tasks to Suricata_processor worker """
-
-    for x in range(int(thread)):
-        th = Thread(target=suricata_processor, args=(IDS_EVENTS, ))
-        th.start()
-
-    for x in enumerate():
-        if x.name == "MainThread":
-            continue
-        x.join()
-
-
-def suricata_processor(ids_events):
-    """ Trigger misp.download_suricata_rule_event """
-
-    while not ids_events.empty():
-        event_id, misp = ids_events.get()
-        ids_rules = misp.download_suricata_rule_event(event_id).text
-
-        for r in ids_rules.split("\n"):
-            # skip header
-            if not r.startswith("#"):
-                if len(r) > 0: DOWNLOADED_RULES.put(r)
-
-
-def return_rules(output, quiet):
-    """ Return downloaded rules to user """
-
-    rules = set()
-    while not DOWNLOADED_RULES.empty():
-        rules.add(DOWNLOADED_RULES.get())
-
-    if output is None:
-
-        if not quiet:
-            print ("[+] Displaying rules")
-
-        print (HEADER)
-        for r in rules: print (r)
-        print ("#")
-
-    else:
-
-        if not quiet:
-            print ("[+] Writing rules to {}".format(output))
-            print ("[+] Generated {} rules".format(len(rules)))
-
-        with open(output, 'w') as f:
-            f.write(HEADER)
-            f.write("\n".join(r for r in rules))
-            f.write("\n"+"#")
-
-
-def format_request(param, term, misp, quiet, output, thread, noevent):
-    """ Format request and start search """
-
-    kwargs = {param: term}
-
-    if not quiet:
-        print ("[+] Searching for: {}".format(kwargs))
-
-    search(misp, quiet, noevent, **kwargs)
-
-    # collect Suricata rules
-    collect_rules(thread)
-
-
-if __name__ == "__main__":
-
-    parser = argparse.ArgumentParser(
-        formatter_class=argparse.RawTextHelpFormatter,
-        description='Get all attributes that can be converted into Suricata 
rules, given a parameter and a term to '
-                    'search.',
-        epilog='''
-        EXAMPLES:
-            suricata_search.py -p tags -s 'APT' -o misp_ids.rules -t 5
-            suricata_search.py -p tags -s 'APT' -o misp_ids.rules -ne 411 357 
343
-            suricata_search.py -p tags -s 'tlp:green, OSINT' -o misp_ids.rules
-            suricata_search.py -p tags -s 
'circl:incident-classification="malware", tlp:green' -o misp_ids.rules
-            suricata_search.py -p categories -s 'Artifacts dropped' -t 20 -o 
artifacts_dropped.rules
-        ''')
-    parser.add_argument("-p", "--param", required=True, help="Parameter to 
search (e.g. categories, tags, org, etc.).")
-    parser.add_argument("-s", "--search", required=True, help="Term/s to 
search.")
-    parser.add_argument("-q", "--quiet", action='store_true', help="No status 
messages")
-    parser.add_argument("-t", "--thread", required=False, help="Number of 
threads to use", default=THREAD)
-    parser.add_argument("-ne", "--noevent", nargs='*', required=False, 
dest='noevent', action='append',
-                        help="Event/s ID to exclude during the search")
-    parser.add_argument("-o", "--output", help="Output file",required=False)
-
-    args = parser.parse_args()
-
-    if args.output is not None and os.path.exists(args.output) and not 
args.quiet:
-        try:
-            check = input("[!] Output file {} exists, do you want to continue 
[Y/n]? ".format(args.output))
-            if check not in ["Y","y"]:
-                exit(0)
-        except KeyboardInterrupt:
-            sys.exit(0)
-
-    if not args.quiet:
-        print ("[i] Connecting to MISP instance: {}".format(misp_url))
-        print ("[i] Note: duplicated IDS rules will be removed")
-
-    # Based on # of terms, format request
-    if "," in args.search:
-        for term in args.search.split(","):
-            term = term.strip()
-            misp = init()
-            format_request(args.param, term, misp, args.quiet, args.output, 
args.thread, args.noevent)
-    else:
-        misp = init()
-        format_request(args.param, args.search, misp, args.quiet, args.output, 
args.thread, args.noevent)
-
-    # return collected rules
-    return_rules(args.output, args.quiet)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/examples/up.py 
new/PyMISP-2.4.125/examples/up.py
--- old/PyMISP-2.4.124/examples/up.py   2020-03-30 09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/examples/up.py   2020-04-30 10:25:16.000000000 +0200
@@ -18,4 +18,4 @@
     me = MISPEvent()
     me.load_file(args.input)
 
-    result = misp.update_event(args.event, me)
+    result = misp.update_event(me, args.event)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/poetry.lock 
new/PyMISP-2.4.125/poetry.lock
--- old/PyMISP-2.4.124/poetry.lock      2020-03-30 09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/poetry.lock      2020-04-30 10:25:16.000000000 +0200
@@ -54,10 +54,10 @@
 name = "beautifulsoup4"
 optional = true
 python-versions = "*"
-version = "4.8.2"
+version = "4.9.0"
 
 [package.dependencies]
-soupsieve = ">=1.2"
+soupsieve = [">1.2", "<2.0"]
 
 [package.extras]
 html5lib = ["html5lib"]
@@ -69,9 +69,10 @@
 name = "bleach"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "3.1.4"
+version = "3.1.5"
 
 [package.dependencies]
+packaging = "*"
 six = ">=1.9.0"
 webencodings = "*"
 
@@ -81,7 +82,7 @@
 name = "certifi"
 optional = false
 python-versions = "*"
-version = "2019.11.28"
+version = "2020.4.5.1"
 
 [[package]]
 category = "main"
@@ -129,7 +130,7 @@
 name = "coverage"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
-version = "5.0.4"
+version = "5.1"
 
 [package.extras]
 toml = ["toml"]
@@ -172,7 +173,7 @@
 name = "deprecated"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.2.7"
+version = "1.2.9"
 
 [package.dependencies]
 wrapt = ">=1.10,<2"
@@ -256,7 +257,7 @@
 name = "ipykernel"
 optional = false
 python-versions = ">=3.5"
-version = "5.2.0"
+version = "5.2.1"
 
 [package.dependencies]
 appnope = "*"
@@ -313,15 +314,15 @@
 description = "An autocompletion tool for Python that can be used for text 
editors."
 name = "jedi"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.16.0"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+version = "0.17.0"
 
 [package.dependencies]
-parso = ">=0.5.2"
+parso = ">=0.7.0"
 
 [package.extras]
 qa = ["flake8 (3.7.9)"]
-testing = ["colorama (0.4.1)", "docopt", "pytest (>=3.9.0,<5.0.0)"]
+testing = ["colorama", "docopt", "pytest (>=3.9.0,<5.0.0)"]
 
 [[package]]
 category = "main"
@@ -329,7 +330,7 @@
 name = "jinja2"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "2.11.1"
+version = "2.11.2"
 
 [package.dependencies]
 MarkupSafe = ">=0.23"
@@ -373,7 +374,7 @@
 name = "jupyter-client"
 optional = false
 python-versions = ">=3.5"
-version = "6.1.2"
+version = "6.1.3"
 
 [package.dependencies]
 jupyter-core = ">=4.6.0"
@@ -403,11 +404,11 @@
 name = "jupyterlab"
 optional = false
 python-versions = ">=3.5"
-version = "1.2.8"
+version = "1.2.14"
 
 [package.dependencies]
 jinja2 = ">=2.10"
-jupyterlab-server = ">=1.0.0,<1.1.0"
+jupyterlab-server = ">=1.0,<2.0"
 notebook = ">=4.3.1"
 tornado = "<6.0.0 || >6.0.0,<6.0.1 || >6.0.1,<6.0.2 || >6.0.2"
 
@@ -421,13 +422,14 @@
 name = "jupyterlab-server"
 optional = false
 python-versions = ">=3.5"
-version = "1.0.7"
+version = "1.1.1"
 
 [package.dependencies]
 jinja2 = ">=2.10"
 json5 = "*"
 jsonschema = ">=3.0.1"
 notebook = ">=4.2.0"
+requests = "*"
 
 [package.extras]
 test = ["pytest", "requests"]
@@ -522,7 +524,7 @@
 name = "nbformat"
 optional = false
 python-versions = ">=3.5"
-version = "5.0.4"
+version = "5.0.6"
 
 [package.dependencies]
 ipython-genutils = "*"
@@ -571,7 +573,7 @@
 category = "main"
 description = "Core utilities for Python packages"
 name = "packaging"
-optional = true
+optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 version = "20.3"
 
@@ -593,7 +595,7 @@
 name = "parso"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.6.2"
+version = "0.7.0"
 
 [package.extras]
 testing = ["docopt", "pytest (>=3.0.7)"]
@@ -624,7 +626,7 @@
 name = "pillow"
 optional = true
 python-versions = ">=3.5"
-version = "7.0.0"
+version = "7.1.2"
 
 [[package]]
 category = "dev"
@@ -693,9 +695,9 @@
 category = "main"
 description = "Python parsing module"
 name = "pyparsing"
-optional = true
+optional = false
 python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "2.4.6"
+version = "2.4.7"
 
 [[package]]
 category = "main"
@@ -733,7 +735,7 @@
 name = "pytz"
 optional = true
 python-versions = "*"
-version = "2019.3"
+version = "2020.1"
 
 [[package]]
 category = "dev"
@@ -848,8 +850,8 @@
 description = "A modern CSS selector implementation for Beautiful Soup."
 name = "soupsieve"
 optional = true
-python-versions = ">=3.5"
-version = "2.0"
+python-versions = "*"
+version = "1.9.5"
 
 [[package]]
 category = "main"
@@ -857,13 +859,13 @@
 name = "sphinx"
 optional = true
 python-versions = ">=3.5"
-version = "2.4.4"
+version = "3.0.3"
 
 [package.dependencies]
 Jinja2 = ">=2.3"
 Pygments = ">=2.0"
 alabaster = ">=0.7,<0.8"
-babel = ">=1.3,<2.0 || >2.0"
+babel = ">=1.3"
 colorama = ">=0.3.5"
 docutils = ">=0.12"
 imagesize = "*"
@@ -880,7 +882,8 @@
 
 [package.extras]
 docs = ["sphinxcontrib-websupport"]
-test = ["pytest (<5.3.3)", "pytest-cov", "html5lib", "flake8 (>=3.5.0)", 
"flake8-import-order", "mypy (>=0.761)", "docutils-stubs"]
+lint = ["flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.770)", 
"docutils-stubs"]
+test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"]
 
 [[package]]
 category = "main"
@@ -1030,7 +1033,7 @@
 name = "typing-extensions"
 optional = false
 python-versions = "*"
-version = "3.7.4.1"
+version = "3.7.4.2"
 
 [[package]]
 category = "main"
@@ -1038,11 +1041,11 @@
 name = "urllib3"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
-version = "1.25.8"
+version = "1.25.9"
 
 [package.extras]
 brotli = ["brotlipy (>=0.6.0)"]
-secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", 
"certifi", "ipaddress"]
+secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "pyOpenSSL 
(>=0.14)", "ipaddress"]
 socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
 
 [[package]]
@@ -1051,7 +1054,7 @@
 name = "validators"
 optional = true
 python-versions = "*"
-version = "0.14.2"
+version = "0.14.3"
 
 [package.dependencies]
 decorator = ">=3.4.0"
@@ -1130,17 +1133,17 @@
     {file = "backcall-0.1.0.zip", hash = 
"sha256:bbbf4b1e5cd2bdb08f915895b51081c041bac22394fdfcfdfbe9f14b77c08bf2"},
 ]
 beautifulsoup4 = [
-    {file = "beautifulsoup4-4.8.2-py2-none-any.whl", hash = 
"sha256:e1505eeed31b0f4ce2dbb3bc8eb256c04cc2b3b72af7d551a4ab6efd5cbe5dae"},
-    {file = "beautifulsoup4-4.8.2-py3-none-any.whl", hash = 
"sha256:9fbb4d6e48ecd30bcacc5b63b94088192dcda178513b2ae3c394229f8911b887"},
-    {file = "beautifulsoup4-4.8.2.tar.gz", hash = 
"sha256:05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a"},
+    {file = "beautifulsoup4-4.9.0-py2-none-any.whl", hash = 
"sha256:a4bbe77fd30670455c5296242967a123ec28c37e9702a8a81bd2f20a4baf0368"},
+    {file = "beautifulsoup4-4.9.0-py3-none-any.whl", hash = 
"sha256:d4e96ac9b0c3a6d3f0caae2e4124e6055c5dcafde8e2f831ff194c104f0775a0"},
+    {file = "beautifulsoup4-4.9.0.tar.gz", hash = 
"sha256:594ca51a10d2b3443cbac41214e12dbb2a1cd57e1a7344659849e2e20ba6a8d8"},
 ]
 bleach = [
-    {file = "bleach-3.1.4-py2.py3-none-any.whl", hash = 
"sha256:cc8da25076a1fe56c3ac63671e2194458e0c4d9c7becfd52ca251650d517903c"},
-    {file = "bleach-3.1.4.tar.gz", hash = 
"sha256:e78e426105ac07026ba098f04de8abe9b6e3e98b5befbf89b51a5ef0a4292b03"},
+    {file = "bleach-3.1.5-py2.py3-none-any.whl", hash = 
"sha256:2bce3d8fab545a6528c8fa5d9f9ae8ebc85a56da365c7f85180bfe96a35ef22f"},
+    {file = "bleach-3.1.5.tar.gz", hash = 
"sha256:3c4c520fdb9db59ef139915a5db79f8b51bc2a7257ea0389f30c846883430a4b"},
 ]
 certifi = [
-    {file = "certifi-2019.11.28-py2.py3-none-any.whl", hash = 
"sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3"},
-    {file = "certifi-2019.11.28.tar.gz", hash = 
"sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f"},
+    {file = "certifi-2020.4.5.1-py2.py3-none-any.whl", hash = 
"sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304"},
+    {file = "certifi-2020.4.5.1.tar.gz", hash = 
"sha256:51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519"},
 ]
 chardet = [
     {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = 
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"},
@@ -1159,37 +1162,37 @@
     {file = "commonmark-0.9.1.tar.gz", hash = 
"sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"},
 ]
 coverage = [
-    {file = "coverage-5.0.4-cp27-cp27m-macosx_10_12_x86_64.whl", hash = 
"sha256:8a620767b8209f3446197c0e29ba895d75a1e272a36af0786ec70fe7834e4307"},
-    {file = "coverage-5.0.4-cp27-cp27m-macosx_10_13_intel.whl", hash = 
"sha256:73aa6e86034dad9f00f4bbf5a666a889d17d79db73bc5af04abd6c20a014d9c8"},
-    {file = "coverage-5.0.4-cp27-cp27m-manylinux1_i686.whl", hash = 
"sha256:408ce64078398b2ee2ec08199ea3fcf382828d2f8a19c5a5ba2946fe5ddc6c31"},
-    {file = "coverage-5.0.4-cp27-cp27m-manylinux1_x86_64.whl", hash = 
"sha256:cda33311cb9fb9323958a69499a667bd728a39a7aa4718d7622597a44c4f1441"},
-    {file = "coverage-5.0.4-cp27-cp27m-win32.whl", hash = 
"sha256:5f587dfd83cb669933186661a351ad6fc7166273bc3e3a1531ec5c783d997aac"},
-    {file = "coverage-5.0.4-cp27-cp27m-win_amd64.whl", hash = 
"sha256:9fad78c13e71546a76c2f8789623eec8e499f8d2d799f4b4547162ce0a4df435"},
-    {file = "coverage-5.0.4-cp27-cp27mu-manylinux1_i686.whl", hash = 
"sha256:2e08c32cbede4a29e2a701822291ae2bc9b5220a971bba9d1e7615312efd3037"},
-    {file = "coverage-5.0.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = 
"sha256:922fb9ef2c67c3ab20e22948dcfd783397e4c043a5c5fa5ff5e9df5529074b0a"},
-    {file = "coverage-5.0.4-cp35-cp35m-macosx_10_12_x86_64.whl", hash = 
"sha256:c3fc325ce4cbf902d05a80daa47b645d07e796a80682c1c5800d6ac5045193e5"},
-    {file = "coverage-5.0.4-cp35-cp35m-manylinux1_i686.whl", hash = 
"sha256:046a1a742e66d065d16fb564a26c2a15867f17695e7f3d358d7b1ad8a61bca30"},
-    {file = "coverage-5.0.4-cp35-cp35m-manylinux1_x86_64.whl", hash = 
"sha256:6ad6ca45e9e92c05295f638e78cd42bfaaf8ee07878c9ed73e93190b26c125f7"},
-    {file = "coverage-5.0.4-cp35-cp35m-win32.whl", hash = 
"sha256:eda55e6e9ea258f5e4add23bcf33dc53b2c319e70806e180aecbff8d90ea24de"},
-    {file = "coverage-5.0.4-cp35-cp35m-win_amd64.whl", hash = 
"sha256:4a8a259bf990044351baf69d3b23e575699dd60b18460c71e81dc565f5819ac1"},
-    {file = "coverage-5.0.4-cp36-cp36m-macosx_10_13_x86_64.whl", hash = 
"sha256:f372cdbb240e09ee855735b9d85e7f50730dcfb6296b74b95a3e5dea0615c4c1"},
-    {file = "coverage-5.0.4-cp36-cp36m-manylinux1_i686.whl", hash = 
"sha256:a37c6233b28e5bc340054cf6170e7090a4e85069513320275a4dc929144dccf0"},
-    {file = "coverage-5.0.4-cp36-cp36m-manylinux1_x86_64.whl", hash = 
"sha256:443be7602c790960b9514567917af538cac7807a7c0c0727c4d2bbd4014920fd"},
-    {file = "coverage-5.0.4-cp36-cp36m-win32.whl", hash = 
"sha256:165a48268bfb5a77e2d9dbb80de7ea917332a79c7adb747bd005b3a07ff8caf0"},
-    {file = "coverage-5.0.4-cp36-cp36m-win_amd64.whl", hash = 
"sha256:0a907199566269e1cfa304325cc3b45c72ae341fbb3253ddde19fa820ded7a8b"},
-    {file = "coverage-5.0.4-cp37-cp37m-macosx_10_13_x86_64.whl", hash = 
"sha256:513e6526e0082c59a984448f4104c9bf346c2da9961779ede1fc458e8e8a1f78"},
-    {file = "coverage-5.0.4-cp37-cp37m-manylinux1_i686.whl", hash = 
"sha256:3844c3dab800ca8536f75ae89f3cf566848a3eb2af4d9f7b1103b4f4f7a5dad6"},
-    {file = "coverage-5.0.4-cp37-cp37m-manylinux1_x86_64.whl", hash = 
"sha256:641e329e7f2c01531c45c687efcec8aeca2a78a4ff26d49184dce3d53fc35014"},
-    {file = "coverage-5.0.4-cp37-cp37m-win32.whl", hash = 
"sha256:db1d4e38c9b15be1521722e946ee24f6db95b189d1447fa9ff18dd16ba89f732"},
-    {file = "coverage-5.0.4-cp37-cp37m-win_amd64.whl", hash = 
"sha256:62061e87071497951155cbccee487980524d7abea647a1b2a6eb6b9647df9006"},
-    {file = "coverage-5.0.4-cp38-cp38-macosx_10_13_x86_64.whl", hash = 
"sha256:65a7e00c00472cd0f59ae09d2fb8a8aaae7f4a0cf54b2b74f3138d9f9ceb9cb2"},
-    {file = "coverage-5.0.4-cp38-cp38-manylinux1_i686.whl", hash = 
"sha256:1f66cf263ec77af5b8fe14ef14c5e46e2eb4a795ac495ad7c03adc72ae43fafe"},
-    {file = "coverage-5.0.4-cp38-cp38-manylinux1_x86_64.whl", hash = 
"sha256:85596aa5d9aac1bf39fe39d9fa1051b0f00823982a1de5766e35d495b4a36ca9"},
-    {file = "coverage-5.0.4-cp38-cp38-win32.whl", hash = 
"sha256:86a0ea78fd851b313b2e712266f663e13b6bc78c2fb260b079e8b67d970474b1"},
-    {file = "coverage-5.0.4-cp38-cp38-win_amd64.whl", hash = 
"sha256:03f630aba2b9b0d69871c2e8d23a69b7fe94a1e2f5f10df5049c0df99db639a0"},
-    {file = "coverage-5.0.4-cp39-cp39-win32.whl", hash = 
"sha256:7c9762f80a25d8d0e4ab3cb1af5d9dffbddb3ee5d21c43e3474c84bf5ff941f7"},
-    {file = "coverage-5.0.4-cp39-cp39-win_amd64.whl", hash = 
"sha256:4482f69e0701139d0f2c44f3c395d1d1d37abd81bfafbf9b6efbe2542679d892"},
-    {file = "coverage-5.0.4.tar.gz", hash = 
"sha256:1b60a95fc995649464e0cd48cecc8288bac5f4198f21d04b8229dc4097d76823"},
+    {file = "coverage-5.1-cp27-cp27m-macosx_10_12_x86_64.whl", hash = 
"sha256:0cb4be7e784dcdc050fc58ef05b71aa8e89b7e6636b99967fadbdba694cf2b65"},
+    {file = "coverage-5.1-cp27-cp27m-macosx_10_13_intel.whl", hash = 
"sha256:c317eaf5ff46a34305b202e73404f55f7389ef834b8dbf4da09b9b9b37f76dd2"},
+    {file = "coverage-5.1-cp27-cp27m-manylinux1_i686.whl", hash = 
"sha256:b83835506dfc185a319031cf853fa4bb1b3974b1f913f5bb1a0f3d98bdcded04"},
+    {file = "coverage-5.1-cp27-cp27m-manylinux1_x86_64.whl", hash = 
"sha256:5f2294dbf7875b991c381e3d5af2bcc3494d836affa52b809c91697449d0eda6"},
+    {file = "coverage-5.1-cp27-cp27m-win32.whl", hash = 
"sha256:de807ae933cfb7f0c7d9d981a053772452217df2bf38e7e6267c9cbf9545a796"},
+    {file = "coverage-5.1-cp27-cp27m-win_amd64.whl", hash = 
"sha256:bf9cb9a9fd8891e7efd2d44deb24b86d647394b9705b744ff6f8261e6f29a730"},
+    {file = "coverage-5.1-cp27-cp27mu-manylinux1_i686.whl", hash = 
"sha256:acf3763ed01af8410fc36afea23707d4ea58ba7e86a8ee915dfb9ceff9ef69d0"},
+    {file = "coverage-5.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = 
"sha256:dec5202bfe6f672d4511086e125db035a52b00f1648d6407cc8e526912c0353a"},
+    {file = "coverage-5.1-cp35-cp35m-macosx_10_12_x86_64.whl", hash = 
"sha256:7a5bdad4edec57b5fb8dae7d3ee58622d626fd3a0be0dfceda162a7035885ecf"},
+    {file = "coverage-5.1-cp35-cp35m-manylinux1_i686.whl", hash = 
"sha256:1601e480b9b99697a570cea7ef749e88123c04b92d84cedaa01e117436b4a0a9"},
+    {file = "coverage-5.1-cp35-cp35m-manylinux1_x86_64.whl", hash = 
"sha256:dbe8c6ae7534b5b024296464f387d57c13caa942f6d8e6e0346f27e509f0f768"},
+    {file = "coverage-5.1-cp35-cp35m-win32.whl", hash = 
"sha256:a027ef0492ede1e03a8054e3c37b8def89a1e3c471482e9f046906ba4f2aafd2"},
+    {file = "coverage-5.1-cp35-cp35m-win_amd64.whl", hash = 
"sha256:0e61d9803d5851849c24f78227939c701ced6704f337cad0a91e0972c51c1ee7"},
+    {file = "coverage-5.1-cp36-cp36m-macosx_10_13_x86_64.whl", hash = 
"sha256:2d27a3f742c98e5c6b461ee6ef7287400a1956c11421eb574d843d9ec1f772f0"},
+    {file = "coverage-5.1-cp36-cp36m-manylinux1_i686.whl", hash = 
"sha256:66460ab1599d3cf894bb6baee8c684788819b71a5dc1e8fa2ecc152e5d752019"},
+    {file = "coverage-5.1-cp36-cp36m-manylinux1_x86_64.whl", hash = 
"sha256:5c542d1e62eece33c306d66fe0a5c4f7f7b3c08fecc46ead86d7916684b36d6c"},
+    {file = "coverage-5.1-cp36-cp36m-win32.whl", hash = 
"sha256:2742c7515b9eb368718cd091bad1a1b44135cc72468c731302b3d641895b83d1"},
+    {file = "coverage-5.1-cp36-cp36m-win_amd64.whl", hash = 
"sha256:dead2ddede4c7ba6cb3a721870f5141c97dc7d85a079edb4bd8d88c3ad5b20c7"},
+    {file = "coverage-5.1-cp37-cp37m-macosx_10_13_x86_64.whl", hash = 
"sha256:01333e1bd22c59713ba8a79f088b3955946e293114479bbfc2e37d522be03355"},
+    {file = "coverage-5.1-cp37-cp37m-manylinux1_i686.whl", hash = 
"sha256:e1ea316102ea1e1770724db01998d1603ed921c54a86a2efcb03428d5417e489"},
+    {file = "coverage-5.1-cp37-cp37m-manylinux1_x86_64.whl", hash = 
"sha256:adeb4c5b608574a3d647011af36f7586811a2c1197c861aedb548dd2453b41cd"},
+    {file = "coverage-5.1-cp37-cp37m-win32.whl", hash = 
"sha256:782caea581a6e9ff75eccda79287daefd1d2631cc09d642b6ee2d6da21fc0a4e"},
+    {file = "coverage-5.1-cp37-cp37m-win_amd64.whl", hash = 
"sha256:00f1d23f4336efc3b311ed0d807feb45098fc86dee1ca13b3d6768cdab187c8a"},
+    {file = "coverage-5.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = 
"sha256:402e1744733df483b93abbf209283898e9f0d67470707e3c7516d84f48524f55"},
+    {file = "coverage-5.1-cp38-cp38-manylinux1_i686.whl", hash = 
"sha256:a3f3654d5734a3ece152636aad89f58afc9213c6520062db3978239db122f03c"},
+    {file = "coverage-5.1-cp38-cp38-manylinux1_x86_64.whl", hash = 
"sha256:6402bd2fdedabbdb63a316308142597534ea8e1895f4e7d8bf7476c5e8751fef"},
+    {file = "coverage-5.1-cp38-cp38-win32.whl", hash = 
"sha256:8fa0cbc7ecad630e5b0f4f35b0f6ad419246b02bc750de7ac66db92667996d24"},
+    {file = "coverage-5.1-cp38-cp38-win_amd64.whl", hash = 
"sha256:79a3cfd6346ce6c13145731d39db47b7a7b859c0272f02cdb89a3bdcbae233a0"},
+    {file = "coverage-5.1-cp39-cp39-win32.whl", hash = 
"sha256:a82b92b04a23d3c8a581fc049228bafde988abacba397d57ce95fe95e0338ab4"},
+    {file = "coverage-5.1-cp39-cp39-win_amd64.whl", hash = 
"sha256:bb28a7245de68bf29f6fb199545d072d1036a1917dca17a1e75bbb919e14ee8e"},
+    {file = "coverage-5.1.tar.gz", hash = 
"sha256:f90bfc4ad18450c80b024036eaf91e4a246ae287701aaa88eaebebf150868052"},
 ]
 coveralls = [
     {file = "coveralls-1.11.1-py2.py3-none-any.whl", hash = 
"sha256:4b6bfc2a2a77b890f556bc631e35ba1ac21193c356393b66c84465c06218e135"},
@@ -1204,8 +1207,8 @@
     {file = "defusedxml-0.6.0.tar.gz", hash = 
"sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"},
 ]
 deprecated = [
-    {file = "Deprecated-1.2.7-py2.py3-none-any.whl", hash = 
"sha256:8b6a5aa50e482d8244a62e5582b96c372e87e3a28e8b49c316e46b95c76a611d"},
-    {file = "Deprecated-1.2.7.tar.gz", hash = 
"sha256:408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308"},
+    {file = "Deprecated-1.2.9-py2.py3-none-any.whl", hash = 
"sha256:55b41a15bda04c6a2c0d27dd4c2b7b81ffa6348c9cad8f077ac1978c59927ab9"},
+    {file = "Deprecated-1.2.9.tar.gz", hash = 
"sha256:0cf37d293a96805c6afd8b5fc525cb40f23a2cac9b2d066ac3bd4b04e72ceccc"},
 ]
 docopt = [
     {file = "docopt-0.6.2.tar.gz", hash = 
"sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"},
@@ -1235,8 +1238,8 @@
     {file = "importlib_metadata-1.6.0.tar.gz", hash = 
"sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e"},
 ]
 ipykernel = [
-    {file = "ipykernel-5.2.0-py3-none-any.whl", hash = 
"sha256:39746b5f7d847a23fae4eac893e63e3d9cc5f8c3a4797fcd3bfa8d1a296ec6ed"},
-    {file = "ipykernel-5.2.0.tar.gz", hash = 
"sha256:37c65d2e2da3326e5cf114405df6d47d997b8a3eba99e2cc4b75833bf71a5e18"},
+    {file = "ipykernel-5.2.1-py3-none-any.whl", hash = 
"sha256:003c9c1ab6ff87d11f531fee2b9ca59affab19676fc6b2c21da329aef6e73499"},
+    {file = "ipykernel-5.2.1.tar.gz", hash = 
"sha256:2937373c356fa5b634edb175c5ea0e4b25de8008f7c194f2d49cfbd1f9c970a8"},
 ]
 ipython = [
     {file = "ipython-7.13.0-py3-none-any.whl", hash = 
"sha256:eb8d075de37f678424527b5ef6ea23f7b80240ca031c2dd6de5879d687a65333"},
@@ -1247,12 +1250,12 @@
     {file = "ipython_genutils-0.2.0.tar.gz", hash = 
"sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"},
 ]
 jedi = [
-    {file = "jedi-0.16.0-py2.py3-none-any.whl", hash = 
"sha256:b4f4052551025c6b0b0b193b29a6ff7bdb74c52450631206c262aef9f7159ad2"},
-    {file = "jedi-0.16.0.tar.gz", hash = 
"sha256:d5c871cb9360b414f981e7072c52c33258d598305280fef91c6cae34739d65d5"},
+    {file = "jedi-0.17.0-py2.py3-none-any.whl", hash = 
"sha256:cd60c93b71944d628ccac47df9a60fec53150de53d42dc10a7fc4b5ba6aae798"},
+    {file = "jedi-0.17.0.tar.gz", hash = 
"sha256:df40c97641cb943661d2db4c33c2e1ff75d491189423249e989bcea4464f3030"},
 ]
 jinja2 = [
-    {file = "Jinja2-2.11.1-py2.py3-none-any.whl", hash = 
"sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49"},
-    {file = "Jinja2-2.11.1.tar.gz", hash = 
"sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250"},
+    {file = "Jinja2-2.11.2-py2.py3-none-any.whl", hash = 
"sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"},
+    {file = "Jinja2-2.11.2.tar.gz", hash = 
"sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"},
 ]
 json5 = [
     {file = "json5-0.9.4-py2.py3-none-any.whl", hash = 
"sha256:4e0fc461b5508196a3ddb3b981dc677805923b86d6eb603c7f58f2459ab1458f"},
@@ -1263,20 +1266,20 @@
     {file = "jsonschema-3.2.0.tar.gz", hash = 
"sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"},
 ]
 jupyter-client = [
-    {file = "jupyter_client-6.1.2-py3-none-any.whl", hash = 
"sha256:81c1c712de383bf6bf3dab6b407392b0d84d814c7bd0ce2c7035ead8b2ffea97"},
-    {file = "jupyter_client-6.1.2.tar.gz", hash = 
"sha256:5724827aedb1948ed6ed15131372bc304a8d3ad9ac67ac19da7c95120d6b17e0"},
+    {file = "jupyter_client-6.1.3-py3-none-any.whl", hash = 
"sha256:cde8e83aab3ec1c614f221ae54713a9a46d3bf28292609d2db1b439bef5a8c8e"},
+    {file = "jupyter_client-6.1.3.tar.gz", hash = 
"sha256:3a32fa4d0b16d1c626b30c3002a62dfd86d6863ed39eaba3f537fade197bb756"},
 ]
 jupyter-core = [
     {file = "jupyter_core-4.6.3-py2.py3-none-any.whl", hash = 
"sha256:a4ee613c060fe5697d913416fc9d553599c05e4492d58fac1192c9a6844abb21"},
     {file = "jupyter_core-4.6.3.tar.gz", hash = 
"sha256:394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e"},
 ]
 jupyterlab = [
-    {file = "jupyterlab-1.2.8-py2.py3-none-any.whl", hash = 
"sha256:1997a5a950924391e7e61b9c3b0f6b4623c89a258b4a04c7509222f0f408367e"},
-    {file = "jupyterlab-1.2.8.tar.gz", hash = 
"sha256:97cac0057794416fa078175a20265f21adf58f9a3d1d7b9497c2d62f56e371f6"},
+    {file = "jupyterlab-1.2.14-py2.py3-none-any.whl", hash = 
"sha256:aaec43b4d65e34e1b8870c062364ec95d175b0082dcda8311ca34539ab0eef3c"},
+    {file = "jupyterlab-1.2.14.tar.gz", hash = 
"sha256:4a64f43c2b1a400efb18406016ee0a17551c6260d4842a4ed94e3f3b1214314b"},
 ]
 jupyterlab-server = [
-    {file = "jupyterlab_server-1.0.7-py3-none-any.whl", hash = 
"sha256:d554d3660049bd1495b190e63a96e06a2707a59936dd58ba3ec1dfe64775987e"},
-    {file = "jupyterlab_server-1.0.7.tar.gz", hash = 
"sha256:12381712f2e70b68442c03046b3afa6483dad4ccae9f47673ffe8a808cefd8e2"},
+    {file = "jupyterlab_server-1.1.1-py3-none-any.whl", hash = 
"sha256:f678a77fa74eeec80c15d6c9884f6ff050f5473267bd342944164115768ec759"},
+    {file = "jupyterlab_server-1.1.1.tar.gz", hash = 
"sha256:b5921872746b1ca109d1852196ed11e537f8aad67a1933c1d4a8ac63f8e61cca"},
 ]
 lief = [
     {file = "lief-0.10.1-cp35-cp35m-manylinux1_x86_64.whl", hash = 
"sha256:83b51e01627b5982662f9550ac1230758aa56945ed86829e4291932d98417da3"},
@@ -1357,8 +1360,8 @@
     {file = "nbconvert-5.6.1.tar.gz", hash = 
"sha256:21fb48e700b43e82ba0e3142421a659d7739b65568cc832a13976a77be16b523"},
 ]
 nbformat = [
-    {file = "nbformat-5.0.4-py3-none-any.whl", hash = 
"sha256:f4bbbd8089bd346488f00af4ce2efb7f8310a74b2058040d075895429924678c"},
-    {file = "nbformat-5.0.4.tar.gz", hash = 
"sha256:562de41fc7f4f481b79ab5d683279bf3a168858268d4387b489b7b02be0b324a"},
+    {file = "nbformat-5.0.6-py3-none-any.whl", hash = 
"sha256:276343c78a9660ab2a63c28cc33da5f7c58c092b3f3a40b6017ae2ce6689320d"},
+    {file = "nbformat-5.0.6.tar.gz", hash = 
"sha256:049af048ed76b95c3c44043620c17e56bc001329e07f83fec4f177f0e3d7b757"},
 ]
 nose = [
     {file = "nose-1.3.7-py2-none-any.whl", hash = 
"sha256:dadcddc0aefbf99eea214e0f1232b94f2fa9bd98fa8353711dacb112bfcbbb2a"},
@@ -1377,8 +1380,8 @@
     {file = "pandocfilters-1.4.2.tar.gz", hash = 
"sha256:b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9"},
 ]
 parso = [
-    {file = "parso-0.6.2-py2.py3-none-any.whl", hash = 
"sha256:8515fc12cfca6ee3aa59138741fc5624d62340c97e401c74875769948d4f2995"},
-    {file = "parso-0.6.2.tar.gz", hash = 
"sha256:0c5659e0c6eba20636f99a04f469798dca8da279645ce5c387315b2c23912157"},
+    {file = "parso-0.7.0-py2.py3-none-any.whl", hash = 
"sha256:158c140fc04112dc45bca311633ae5033c2c2a7b732fa33d0955bad8152a8dd0"},
+    {file = "parso-0.7.0.tar.gz", hash = 
"sha256:908e9fae2144a076d72ae4e25539143d40b8e3eafbaeae03c1bfe226f4cdf12c"},
 ]
 pexpect = [
     {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = 
"sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
@@ -1389,28 +1392,29 @@
     {file = "pickleshare-0.7.5.tar.gz", hash = 
"sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"},
 ]
 pillow = [
-    {file = "Pillow-7.0.0-cp35-cp35m-macosx_10_6_intel.whl", hash = 
"sha256:5f3546ceb08089cedb9e8ff7e3f6a7042bb5b37c2a95d392fb027c3e53a2da00"},
-    {file = "Pillow-7.0.0-cp35-cp35m-manylinux1_i686.whl", hash = 
"sha256:9d2ba4ed13af381233e2d810ff3bab84ef9f18430a9b336ab69eaf3cd24299ff"},
-    {file = "Pillow-7.0.0-cp35-cp35m-manylinux1_x86_64.whl", hash = 
"sha256:ff3797f2f16bf9d17d53257612da84dd0758db33935777149b3334c01ff68865"},
-    {file = "Pillow-7.0.0-cp35-cp35m-win32.whl", hash = 
"sha256:c18f70dc27cc5d236f10e7834236aff60aadc71346a5bc1f4f83a4b3abee6386"},
-    {file = "Pillow-7.0.0-cp35-cp35m-win_amd64.whl", hash = 
"sha256:875358310ed7abd5320f21dd97351d62de4929b0426cdb1eaa904b64ac36b435"},
-    {file = "Pillow-7.0.0-cp36-cp36m-macosx_10_6_intel.whl", hash = 
"sha256:ab76e5580b0ed647a8d8d2d2daee170e8e9f8aad225ede314f684e297e3643c2"},
-    {file = "Pillow-7.0.0-cp36-cp36m-manylinux1_i686.whl", hash = 
"sha256:a62ec5e13e227399be73303ff301f2865bf68657d15ea50b038d25fc41097317"},
-    {file = "Pillow-7.0.0-cp36-cp36m-manylinux1_x86_64.whl", hash = 
"sha256:8ac6ce7ff3892e5deaab7abaec763538ffd011f74dc1801d93d3c5fc541feee2"},
-    {file = "Pillow-7.0.0-cp36-cp36m-win32.whl", hash = 
"sha256:91b710e3353aea6fc758cdb7136d9bbdcb26b53cefe43e2cba953ac3ee1d3313"},
-    {file = "Pillow-7.0.0-cp36-cp36m-win_amd64.whl", hash = 
"sha256:bf598d2e37cf8edb1a2f26ed3fb255191f5232badea4003c16301cb94ac5bdd0"},
-    {file = "Pillow-7.0.0-cp37-cp37m-macosx_10_6_intel.whl", hash = 
"sha256:5bfef0b1cdde9f33881c913af14e43db69815c7e8df429ceda4c70a5e529210f"},
-    {file = "Pillow-7.0.0-cp37-cp37m-manylinux1_i686.whl", hash = 
"sha256:dc058b7833184970d1248135b8b0ab702e6daa833be14035179f2acb78ff5636"},
-    {file = "Pillow-7.0.0-cp37-cp37m-manylinux1_x86_64.whl", hash = 
"sha256:c5ed816632204a2fc9486d784d8e0d0ae754347aba99c811458d69fcdfd2a2f9"},
-    {file = "Pillow-7.0.0-cp37-cp37m-win32.whl", hash = 
"sha256:54ebae163e8412aff0b9df1e88adab65788f5f5b58e625dc5c7f51eaf14a6837"},
-    {file = "Pillow-7.0.0-cp37-cp37m-win_amd64.whl", hash = 
"sha256:87269cc6ce1e3dee11f23fa515e4249ae678dbbe2704598a51cee76c52e19cda"},
-    {file = "Pillow-7.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = 
"sha256:0a628977ac2e01ca96aaae247ec2bd38e729631ddf2221b4b715446fd45505be"},
-    {file = "Pillow-7.0.0-cp38-cp38-manylinux1_i686.whl", hash = 
"sha256:62a889aeb0a79e50ecf5af272e9e3c164148f4bd9636cc6bcfa182a52c8b0533"},
-    {file = "Pillow-7.0.0-cp38-cp38-manylinux1_x86_64.whl", hash = 
"sha256:bf4003aa538af3f4205c5fac56eacaa67a6dd81e454ffd9e9f055fff9f1bc614"},
-    {file = "Pillow-7.0.0-cp38-cp38-win32.whl", hash = 
"sha256:7406f5a9b2fd966e79e6abdaf700585a4522e98d6559ce37fc52e5c955fade0a"},
-    {file = "Pillow-7.0.0-cp38-cp38-win_amd64.whl", hash = 
"sha256:5f7ae9126d16194f114435ebb79cc536b5682002a4fa57fa7bb2cbcde65f2f4d"},
-    {file = "Pillow-7.0.0-pp373-pypy36_pp73-win32.whl", hash = 
"sha256:8453f914f4e5a3d828281a6628cf517832abfa13ff50679a4848926dac7c0358"},
-    {file = "Pillow-7.0.0.tar.gz", hash = 
"sha256:4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946"},
+    {file = "Pillow-7.1.2-cp35-cp35m-macosx_10_10_intel.whl", hash = 
"sha256:ae2b270f9a0b8822b98655cb3a59cdb1bd54a34807c6c56b76dd2e786c3b7db3"},
+    {file = "Pillow-7.1.2-cp35-cp35m-manylinux1_i686.whl", hash = 
"sha256:d23e2aa9b969cf9c26edfb4b56307792b8b374202810bd949effd1c6e11ebd6d"},
+    {file = "Pillow-7.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = 
"sha256:b532bcc2f008e96fd9241177ec580829dee817b090532f43e54074ecffdcd97f"},
+    {file = "Pillow-7.1.2-cp35-cp35m-win32.whl", hash = 
"sha256:12e4bad6bddd8546a2f9771485c7e3d2b546b458ae8ff79621214119ac244523"},
+    {file = "Pillow-7.1.2-cp35-cp35m-win_amd64.whl", hash = 
"sha256:9744350687459234867cbebfe9df8f35ef9e1538f3e729adbd8fde0761adb705"},
+    {file = "Pillow-7.1.2-cp36-cp36m-macosx_10_10_x86_64.whl", hash = 
"sha256:f54be399340aa602066adb63a86a6a5d4f395adfdd9da2b9a0162ea808c7b276"},
+    {file = "Pillow-7.1.2-cp36-cp36m-manylinux1_i686.whl", hash = 
"sha256:1f694e28c169655c50bb89a3fa07f3b854d71eb47f50783621de813979ba87f3"},
+    {file = "Pillow-7.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = 
"sha256:f784aad988f12c80aacfa5b381ec21fd3f38f851720f652b9f33facc5101cf4d"},
+    {file = "Pillow-7.1.2-cp36-cp36m-win32.whl", hash = 
"sha256:b37bb3bd35edf53125b0ff257822afa6962649995cbdfde2791ddb62b239f891"},
+    {file = "Pillow-7.1.2-cp36-cp36m-win_amd64.whl", hash = 
"sha256:b67a6c47ed963c709ed24566daa3f95a18f07d3831334da570c71da53d97d088"},
+    {file = "Pillow-7.1.2-cp37-cp37m-macosx_10_10_x86_64.whl", hash = 
"sha256:eaa83729eab9c60884f362ada982d3a06beaa6cc8b084cf9f76cae7739481dfa"},
+    {file = "Pillow-7.1.2-cp37-cp37m-manylinux1_i686.whl", hash = 
"sha256:f46e0e024346e1474083c729d50de909974237c72daca05393ee32389dabe457"},
+    {file = "Pillow-7.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = 
"sha256:0e2a3bceb0fd4e0cb17192ae506d5f082b309ffe5fc370a5667959c9b2f85fa3"},
+    {file = "Pillow-7.1.2-cp37-cp37m-win32.whl", hash = 
"sha256:ccc9ad2460eb5bee5642eaf75a0438d7f8887d484490d5117b98edd7f33118b7"},
+    {file = "Pillow-7.1.2-cp37-cp37m-win_amd64.whl", hash = 
"sha256:b943e71c2065ade6fef223358e56c167fc6ce31c50bc7a02dd5c17ee4338e8ac"},
+    {file = "Pillow-7.1.2-cp38-cp38-macosx_10_10_x86_64.whl", hash = 
"sha256:04766c4930c174b46fd72d450674612ab44cca977ebbcc2dde722c6933290107"},
+    {file = "Pillow-7.1.2-cp38-cp38-manylinux1_i686.whl", hash = 
"sha256:f455efb7a98557412dc6f8e463c1faf1f1911ec2432059fa3e582b6000fc90e2"},
+    {file = "Pillow-7.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = 
"sha256:ee94fce8d003ac9fd206496f2707efe9eadcb278d94c271f129ab36aa7181344"},
+    {file = "Pillow-7.1.2-cp38-cp38-win32.whl", hash = 
"sha256:4b02b9c27fad2054932e89f39703646d0c543f21d3cc5b8e05434215121c28cd"},
+    {file = "Pillow-7.1.2-cp38-cp38-win_amd64.whl", hash = 
"sha256:3d25dd8d688f7318dca6d8cd4f962a360ee40346c15893ae3b95c061cdbc4079"},
+    {file = "Pillow-7.1.2-pp373-pypy36_pp73-win32.whl", hash = 
"sha256:0f01e63c34f0e1e2580cc0b24e86a5ccbbfa8830909a52ee17624c4193224cd9"},
+    {file = "Pillow-7.1.2-py3.8-macosx-10.9-x86_64.egg", hash = 
"sha256:70e3e0d99a0dcda66283a185f80697a9b08806963c6149c8e6c5f452b2aa59c0"},
+    {file = "Pillow-7.1.2.tar.gz", hash = 
"sha256:a0b49960110bc6ff5fead46013bcb8825d101026d466f3a4de3476defe0fb0dd"},
 ]
 prometheus-client = [
     {file = "prometheus_client-0.7.1.tar.gz", hash = 
"sha256:71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da"},
@@ -1439,8 +1443,8 @@
     {file = "Pygments-2.6.1.tar.gz", hash = 
"sha256:647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44"},
 ]
 pyparsing = [
-    {file = "pyparsing-2.4.6-py2.py3-none-any.whl", hash = 
"sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"},
-    {file = "pyparsing-2.4.6.tar.gz", hash = 
"sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f"},
+    {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = 
"sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
+    {file = "pyparsing-2.4.7.tar.gz", hash = 
"sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
 ]
 pyrsistent = [
     {file = "pyrsistent-0.16.0.tar.gz", hash = 
"sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3"},
@@ -1454,8 +1458,8 @@
     {file = "python_magic-0.4.15-py2.py3-none-any.whl", hash = 
"sha256:f2674dcfad52ae6c49d4803fa027809540b130db1dec928cfbb9240316831375"},
 ]
 pytz = [
-    {file = "pytz-2019.3-py2.py3-none-any.whl", hash = 
"sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d"},
-    {file = "pytz-2019.3.tar.gz", hash = 
"sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"},
+    {file = "pytz-2020.1-py2.py3-none-any.whl", hash = 
"sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"},
+    {file = "pytz-2020.1.tar.gz", hash = 
"sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"},
 ]
 pywin32 = [
     {file = "pywin32-227-cp27-cp27m-win32.whl", hash = 
"sha256:371fcc39416d736401f0274dd64c2302728c9e034808e37381b5e1b22be4a6b0"},
@@ -1580,12 +1584,12 @@
     {file = "snowballstemmer-2.0.0.tar.gz", hash = 
"sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"},
 ]
 soupsieve = [
-    {file = "soupsieve-2.0-py2.py3-none-any.whl", hash = 
"sha256:fcd71e08c0aee99aca1b73f45478549ee7e7fc006d51b37bec9e9def7dc22b69"},
-    {file = "soupsieve-2.0.tar.gz", hash = 
"sha256:e914534802d7ffd233242b785229d5ba0766a7f487385e3f714446a07bf540ae"},
+    {file = "soupsieve-1.9.5-py2.py3-none-any.whl", hash = 
"sha256:bdb0d917b03a1369ce964056fc195cfdff8819c40de04695a80bc813c3cfa1f5"},
+    {file = "soupsieve-1.9.5.tar.gz", hash = 
"sha256:e2c1c5dee4a1c36bcb790e0fabd5492d874b8ebd4617622c4f6a731701060dda"},
 ]
 sphinx = [
-    {file = "Sphinx-2.4.4-py3-none-any.whl", hash = 
"sha256:fc312670b56cb54920d6cc2ced455a22a547910de10b3142276495ced49231cb"},
-    {file = "Sphinx-2.4.4.tar.gz", hash = 
"sha256:b4c750d546ab6d7e05bdff6ac24db8ae3e8b8253a3569b754e445110a0a12b66"},
+    {file = "Sphinx-3.0.3-py3-none-any.whl", hash = 
"sha256:f5505d74cf9592f3b997380f9bdb2d2d0320ed74dd69691e3ee0644b956b8d83"},
+    {file = "Sphinx-3.0.3.tar.gz", hash = 
"sha256:62edfd92d955b868d6c124c0942eba966d54b5f3dcb4ded39e65f74abac3f572"},
 ]
 sphinx-autodoc-typehints = [
     {file = "sphinx-autodoc-typehints-1.10.3.tar.gz", hash = 
"sha256:a6b3180167479aca2c4d1ed3b5cb044a70a76cccd6b38662d39288ebd9f0dff0"},
@@ -1662,16 +1666,16 @@
     {file = "typed_ast-1.4.1.tar.gz", hash = 
"sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"},
 ]
 typing-extensions = [
-    {file = "typing_extensions-3.7.4.1-py2-none-any.whl", hash = 
"sha256:910f4656f54de5993ad9304959ce9bb903f90aadc7c67a0bef07e678014e892d"},
-    {file = "typing_extensions-3.7.4.1-py3-none-any.whl", hash = 
"sha256:cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575"},
-    {file = "typing_extensions-3.7.4.1.tar.gz", hash = 
"sha256:091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2"},
+    {file = "typing_extensions-3.7.4.2-py2-none-any.whl", hash = 
"sha256:f8d2bd89d25bc39dabe7d23df520442fa1d8969b82544370e03d88b5a591c392"},
+    {file = "typing_extensions-3.7.4.2-py3-none-any.whl", hash = 
"sha256:6e95524d8a547a91e08f404ae485bbb71962de46967e1b71a0cb89af24e761c5"},
+    {file = "typing_extensions-3.7.4.2.tar.gz", hash = 
"sha256:79ee589a3caca649a9bfd2a8de4709837400dfa00b6cc81962a1e6a1815969ae"},
 ]
 urllib3 = [
-    {file = "urllib3-1.25.8-py2.py3-none-any.whl", hash = 
"sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc"},
-    {file = "urllib3-1.25.8.tar.gz", hash = 
"sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc"},
+    {file = "urllib3-1.25.9-py2.py3-none-any.whl", hash = 
"sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115"},
+    {file = "urllib3-1.25.9.tar.gz", hash = 
"sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527"},
 ]
 validators = [
-    {file = "validators-0.14.2.tar.gz", hash = 
"sha256:b192e6bde7d617811d59f50584ed240b580375648cd032d106edeb3164099508"},
+    {file = "validators-0.14.3.tar.gz", hash = 
"sha256:6a0d9502219aee486f1ee12d8a9635e4a56f3dbcfa204b4e0de3a038ae35f34f"},
 ]
 wcwidth = [
     {file = "wcwidth-0.1.9-py2.py3-none-any.whl", hash = 
"sha256:cafe2186b3c009a04067022ce1dcd79cb38d8d65ee4f4791b8888d6599d1bbe1"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/pymisp/__init__.py 
new/PyMISP-2.4.125/pymisp/__init__.py
--- old/PyMISP-2.4.124/pymisp/__init__.py       2020-03-30 09:40:56.000000000 
+0200
+++ new/PyMISP-2.4.125/pymisp/__init__.py       2020-04-30 10:25:16.000000000 
+0200
@@ -1,4 +1,4 @@
-__version__ = '2.4.124'
+__version__ = '2.4.125'
 import logging
 
 FORMAT = "%(levelname)s [%(filename)s:%(lineno)s - %(funcName)s() ] 
%(message)s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/pymisp/abstract.py 
new/PyMISP-2.4.125/pymisp/abstract.py
--- old/PyMISP-2.4.124/pymisp/abstract.py       2020-03-30 09:40:56.000000000 
+0200
+++ new/PyMISP-2.4.125/pymisp/abstract.py       2020-04-30 10:25:16.000000000 
+0200
@@ -46,7 +46,7 @@
     def _load_json(path: Path) -> Union[dict, None]:
         if not path.exists():
             return None
-        with path.open('r') as f:
+        with path.open('r', encoding='utf-8') as f:
             if HAS_RAPIDJSON:
                 data = load(f)
             else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/pymisp/api.py 
new/PyMISP-2.4.125/pymisp/api.py
--- old/PyMISP-2.4.124/pymisp/api.py    2020-03-30 09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/pymisp/api.py    2020-04-30 10:25:16.000000000 +0200
@@ -200,11 +200,18 @@
             to_return.append(e)
         return to_return
 
-    def get_event(self, event: Union[MISPEvent, int, str, UUID], deleted: 
Union[bool, int, list]=False, pythonify: bool=False) -> Union[dict, MISPEvent]:
+    def get_event(self, event: Union[MISPEvent, int, str, UUID],
+                  deleted: Union[bool, int, list]=False,
+                  extended: Union[bool, int]=False,
+                  pythonify: bool=False) -> Union[dict, MISPEvent]:
         '''Get an event from a MISP instance'''
         event_id = self.__get_uuid_or_id_from_abstract_misp(event)
+        data = {}
         if deleted:
-            data = {'deleted': deleted}
+            data['deleted'] = deleted
+        if extended:
+            data['extended'] = deleted
+        if data:
             r = self._prepare_request('POST', f'events/view/{event_id}', 
data=data)
         else:
             r = self._prepare_request('GET', f'events/view/{event_id}')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/pymisp/mispevent.py 
new/PyMISP-2.4.125/pymisp/mispevent.py
--- old/PyMISP-2.4.124/pymisp/mispevent.py      2020-03-30 09:40:56.000000000 
+0200
+++ new/PyMISP-2.4.125/pymisp/mispevent.py      2020-04-30 10:25:16.000000000 
+0200
@@ -1640,7 +1640,7 @@
         super().from_dict(**kwargs)
 
     def __repr__(self):
-        return '<{self.__class__.__name__}(name={self.name}, 
uuid={self.uuid})'.format(self=self)
+        return f'<{self.__class__.__name__}(name={self.name}, 
uuid={self.uuid})'
 
 
 class MISPUserSetting(AbstractMISP):
@@ -1651,4 +1651,4 @@
         super().from_dict(**kwargs)
 
     def __repr__(self):
-        return 
'<{self.__class__.__name__}(name={self.setting}'.format(self=self)
+        return f'<{self.__class__.__name__}(name={self.setting}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/pymisp/tools/vtreportobject.py 
new/PyMISP-2.4.125/pymisp/tools/vtreportobject.py
--- old/PyMISP-2.4.124/pymisp/tools/vtreportobject.py   2020-03-30 
09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/pymisp/tools/vtreportobject.py   2020-04-30 
10:25:16.000000000 +0200
@@ -81,7 +81,7 @@
             report = requests.get(url, params=params)
         report_json = report.json()
         if report_json["response_code"] == 1:
-            return report
+            return report_json
         else:
             error_msg = "{}: {}".format(resource, report_json["verbose_msg"])
             raise InvalidMISPObject(error_msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/pyproject.toml 
new/PyMISP-2.4.125/pyproject.toml
--- old/PyMISP-2.4.124/pyproject.toml   2020-03-30 09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/pyproject.toml   2020-04-30 10:25:16.000000000 +0200
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "pymisp"
-version = "2.4.124"
+version = "2.4.125"
 description = "Python API for MISP."
 authors = ["Raphaël Vinot <raphael.vi...@circl.lu>"]
 license = "BSD-2-Clause"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyMISP-2.4.124/tests/testlive_comprehensive.py 
new/PyMISP-2.4.125/tests/testlive_comprehensive.py
--- old/PyMISP-2.4.124/tests/testlive_comprehensive.py  2020-03-30 
09:40:56.000000000 +0200
+++ new/PyMISP-2.4.125/tests/testlive_comprehensive.py  2020-04-30 
10:25:16.000000000 +0200
@@ -2016,6 +2016,11 @@
             self.assertTrue(isinstance(user_settings, list))
 
             # Test if publish_alert_filter works
+            # # Enable autoalert on admin
+            self.admin_misp_connector._current_user.autoalert = True
+            self.admin_misp_connector._current_user.termsaccepted = True
+            
self.user_misp_connector.update_user(self.admin_misp_connector._current_user)
+
             first = self.admin_misp_connector.add_event(first, pythonify=True)
             second = self.admin_misp_connector.add_event(second, 
pythonify=True)
             r = self.user_misp_connector.change_user_password('Password1234')
@@ -2081,7 +2086,6 @@
             self.admin_misp_connector.delete_event(second)
 
     def test_first_last_seen(self):
-        local_tz = datetime.now(timezone.utc).astimezone().tzinfo
         event = MISPEvent()
         event.info = 'Test First Last seen'
         event.add_attribute('ip-dst', '8.8.8.8', first_seen='2020-01-04', 
last_seen='2020-01-04T12:30:34.323242+0800')
@@ -2092,7 +2096,7 @@
         try:
             first = self.admin_misp_connector.add_event(event, pythonify=True)
             # Simple attribute
-            self.assertEqual(first.attributes[0].first_seen, datetime(2020, 1, 
4, 0, 0, tzinfo=local_tz))
+            self.assertEqual(first.attributes[0].first_seen, datetime(2020, 1, 
4, 0, 0).astimezone())
             self.assertEqual(first.attributes[0].last_seen, datetime(2020, 1, 
4, 4, 30, 34, 323242, tzinfo=timezone.utc))
 
             # Object
@@ -2100,8 +2104,8 @@
             self.assertEqual(first.objects[0].last_seen, datetime(2020, 1, 27, 
17, 48, 20, tzinfo=timezone.utc))
 
             # Object attribute
-            self.assertEqual(first.objects[0].attributes[0].first_seen, 
datetime(2022, 1, 30, 0, 0, tzinfo=local_tz))
-            self.assertEqual(first.objects[0].attributes[0].last_seen, 
datetime(2022, 2, 23, 0, 0, tzinfo=local_tz))
+            self.assertEqual(first.objects[0].attributes[0].first_seen, 
datetime(2022, 1, 30, 0, 0).astimezone())
+            self.assertEqual(first.objects[0].attributes[0].last_seen, 
datetime(2022, 2, 23, 0, 0).astimezone())
 
             # Update values
             # Attribute in full event


Reply via email to