Merge pull request #257 from jktjkt/fixes

Python: do not use a mutable default value
This commit is contained in:
Jan Kundrát
2019-06-11 10:46:25 +02:00
committed by GitHub
3 changed files with 10 additions and 7 deletions

View File

@@ -11,5 +11,7 @@ install:
script:
- pytest --cov-report=xml --cov=gnpy
- rstcheck --ignore-roles cite --ignore-directives automodule --recursive --ignore-messages '(Duplicate explicit target name.*)' .
- cd examples; ./transmission_main_example.py
- cd examples; ./path_requests_run.py
after_success:
- bash <(curl -s https://codecov.io/bash)

View File

@@ -476,12 +476,11 @@ class EdfaOperational:
f'tilt_target={self.tilt_target!r})')
class Edfa(Node):
def __init__(self, *args, params={}, operational={}, **kwargs):
#TBC is this useful? put in comment for now:
#if params is None:
# params = {}
#if operational is None:
# operational = {}
def __init__(self, *args, params=None, operational=None, **kwargs):
if params is None:
params = {}
if operational is None:
operational = {}
super().__init__(
*args,
params=EdfaParams(**params),

View File

@@ -26,10 +26,12 @@ class Location(namedtuple('Location', 'latitude longitude city region')):
return super().__new__(cls, latitude, longitude, city, region)
class Node:
def __init__(self, uid, name=None, params=None, metadata={'location':{}}, operational=None):
def __init__(self, uid, name=None, params=None, metadata=None, operational=None):
if name is None:
name = uid
self.uid, self.name = uid, name
if metadata is None:
metadata = {'location': {}}
if metadata and not isinstance(metadata.get('location'), Location):
metadata['location'] = Location(**metadata.pop('location', {}))
self.params, self.metadata, self.operational = params, metadata, operational