metawards.Wards¶
-
class
metawards.
Wards
(wards: Optional[List[metawards._ward.Ward]] = None)[source]¶ This class holds an entire network of Ward objects
-
__init__
(wards: Optional[List[metawards._ward.Ward]] = None)[source]¶ Construct, optionally from a list of Ward objects
Methods
__add__
(other)__contains__
(id)Return whether or not the passed id - which can be an integer ID or WardInfo - is in this Wards object
__delattr__
(name, /)Implement delattr(self, name).
__dir__
()Default dir() implementation.
__eq__
(other)Return self==value.
__format__
(format_spec, /)Default object formatter.
__ge__
(value, /)Return self>=value.
__getattribute__
(name, /)Return getattr(self, name).
__getitem__
(id)Return the ward with specified id - this can be the integer ID of the ward, or the WardInfo of the ward.
__gt__
(value, /)Return self>value.
__iadd__
(other)__imul__
(scale)In-place multiply the number of workers and players by ‘scale’
__init__
([wards])Construct, optionally from a list of Ward objects
__init_subclass__
This method is called when a class is subclassed.
__le__
(value, /)Return self<=value.
__len__
()__lt__
(value, /)Return self<value.
__mul__
(scale)Scale the number of workers and players by ‘scale’
__ne__
(value, /)Return self!=value.
__new__
(**kwargs)Create and return a new object.
__radd__
(other)__reduce__
()Helper for pickle.
__reduce_ex__
(protocol, /)Helper for pickle.
__repr__
()Return repr(self).
__rmul__
(scale)Scale the number of workers and players by ‘scale’
__setattr__
(name, value, /)Implement setattr(self, name, value).
__sizeof__
()Size of object in memory, in bytes.
__str__
()Return str(self).
__subclasshook__
Abstract classes can override this to customize issubclass().
_harmonise_links
(other)Make sure that the wards in this object has exactly the same links as the wards in ‘other’.
_harmonise_nodes
(other)Make sure that this set of Wards contains all of the wards in ‘other’, and that all have the same ID and info.
_resolve
()Try to resolve all of the links.
add
(ward)Synonym for insert
Make sure that we don’t refer to any non-existent wards
contains
(id)Return whether or not the passed id - which can be an integer ID or WardInfo - is in this Wards object
from_data
(data[, profiler])Return the Wards constructed from a data represnetation, which may have come from deserialised JSON
from_json
(s)Return the Wards constructed from the passed json.
get
(id[, dereference])Return the ward with the specified id - this can eb the integer ID of the ward or the WardInfo of the ward.
getinfo
(id)Return the WardInfo matching the ward with the passed ID
harmonise
(wardss)Harmonise the passed list of wards, returning a tuple that contains the overall sum of all of these wards, plus a new list where all Wards use IDs that are correct and valid across the entire group
index
(id)Return the index of the ward that matches the passed id - which can be the integer ID or WardInfo - in this Wards object.
insert
(wards[, overwrite, _need_deep_copy])Insert the passed wards onto this list.
Return whether or not this is a fully resolved set of Wards (i.e.
Return the total number of play links
Return the total number of players in this network
Return the total number of work links
Return the total number of workers in this network
Return the total population in this network
scale
([work_ratio, play_ratio, _inplace])Return a copy of these wards where the number of workers and players have been scaled by ‘work_ratios’ and ‘play_ratios’ respectively.
to_data
([profiler])Return a data representation of these wards that can be serialised to JSON
to_json
([filename, indent, auto_bzip])Serialise the wards to JSON.
Return the list of IDs of unresolved wards
Attributes
__dict__
__doc__
__hash__
__module__
__weakref__
list of weak references to the object (if defined)
-
__contains__
(id: Union[int, str, metawards._wardinfo.WardInfo, metawards._ward.Ward]) → bool[source]¶ Return whether or not the passed id - which can be an integer ID or WardInfo - is in this Wards object
-
__getitem__
(id: Union[int, str, metawards._wardinfo.WardInfo]) → metawards._ward.Ward[source]¶ Return the ward with specified id - this can be the integer ID of the ward, or the WardInfo of the ward. Note that this returns a copy of the Ward
-
__imul__
(scale: float) → metawards._wards.Wards[source]¶ In-place multiply the number of workers and players by ‘scale’
-
__init__
(wards: Optional[List[metawards._ward.Ward]] = None)[source]¶ Construct, optionally from a list of Ward objects
-
__mul__
(scale: float) → metawards._wards.Wards[source]¶ Scale the number of workers and players by ‘scale’
-
__rmul__
(scale: float) → metawards._wards.Wards[source]¶ Scale the number of workers and players by ‘scale’
-
contains
(id: Union[int, str, metawards._wardinfo.WardInfo]) → bool[source]¶ Return whether or not the passed id - which can be an integer ID or WardInfo - is in this Wards object
-
static
from_data
(data, profiler: Optional[metawards.utils._profiler.Profiler] = None)[source]¶ Return the Wards constructed from a data represnetation, which may have come from deserialised JSON
-
static
from_json
(s: str)[source]¶ Return the Wards constructed from the passed json. This will either load from a passed json string, or from json loaded from the passed file
-
get
(id: Union[int, metawards._wardinfo.WardInfo], dereference: bool = True) → metawards._ward.Ward[source]¶ Return the ward with the specified id - this can eb the integer ID of the ward or the WardInfo of the ward. If ‘dereference’ is True then this will dereference all of the IDs into WardInfo objects. This is useful if you want to use the resulting Ward with other Wards collections
-
getinfo
(id: Union[int, str, metawards._wardinfo.WardInfo]) → metawards._wardinfo.WardInfo[source]¶ Return the WardInfo matching the ward with the passed ID
-
static
harmonise
(wardss: List[Wards]) → Tuple[Wards, List[Wards]][source]¶ Harmonise the passed list of wards, returning a tuple that contains the overall sum of all of these wards, plus a new list where all Wards use IDs that are correct and valid across the entire group
-
index
(id: Union[int, str, metawards._wardinfo.WardInfo, metawards._ward.Ward]) → int[source]¶ Return the index of the ward that matches the passed id - which can be the integer ID or WardInfo - in this Wards object. This raises a ValueError if the ward doens’t exist
-
insert
(wards: List[metawards._ward.Ward], overwrite: bool = True, _need_deep_copy: bool = True) → None[source]¶ Insert the passed wards onto this list. This will overwrite the existing ward if ‘overwrite’ is true, otherwise it will add the ward’s data to the existing ward
-
is_resolved
() → bool[source]¶ Return whether or not this is a fully resolved set of Wards (i.e. each ward only links to other wards in this set)
-
scale
(work_ratio: float = 1.0, play_ratio: float = 1.0, _inplace: bool = False) → metawards._wards.Wards[source]¶ Return a copy of these wards where the number of workers and players have been scaled by ‘work_ratios’ and ‘play_ratios’ respectively. These can be greater than 1.0, e.g. if you want to scale up the number of workers and players
- Parameters
work_ratio (float) – The scaling ratio for workers
play_ratio (float) – The scaling ratio for players
- Returns
Wards
- Return type
A copy of this Wards scaled by the requested amount
-
to_data
(profiler: Optional[metawards.utils._profiler.Profiler] = None)[source]¶ Return a data representation of these wards that can be serialised to JSON
-
to_json
(filename: Optional[str] = None, indent: Optional[int] = None, auto_bzip: bool = True) → str[source]¶ Serialise the wards to JSON. This will write to a file if filename is set, otherwise it will return a JSON string.
- Parameters
filename (str) – The name of the file to write the JSON to. The absolute path to the written file will be returned. If filename is None then this will serialise to a JSON string which will be returned.
indent (int) – The number of spaces of indent to use when writing the json
auto_bzip (bool) – Whether or not to automatically bzip2 the written json file
- Returns
Returns either the absolute path to the written file, or the json-serialised string
- Return type
str
-