mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-13 05:52:38 +02:00
[core updates] first try to switch updates off and on. Use m.updates = False to switch updates off, and vice-versa
This commit is contained in:
parent
1ebcee967a
commit
995de897b3
1 changed files with 16 additions and 1 deletions
|
|
@ -17,7 +17,7 @@ from transformations import Logexp, NegativeLogexp, Logistic, __fixed__, FIXED,
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import re
|
import re
|
||||||
|
|
||||||
__updated__ = '2014-05-15'
|
__updated__ = '2014-05-20'
|
||||||
|
|
||||||
class HierarchyError(Exception):
|
class HierarchyError(Exception):
|
||||||
"""
|
"""
|
||||||
|
|
@ -50,11 +50,24 @@ class Observable(object):
|
||||||
self as only argument to all its observers.
|
self as only argument to all its observers.
|
||||||
"""
|
"""
|
||||||
_updated = True
|
_updated = True
|
||||||
|
_updates = True
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(Observable, self).__init__()
|
super(Observable, self).__init__()
|
||||||
from lists_and_dicts import ObserverList
|
from lists_and_dicts import ObserverList
|
||||||
self.observers = ObserverList()
|
self.observers = ObserverList()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def updates(self):
|
||||||
|
self._updates = self._highest_parent_._updates
|
||||||
|
return self._updates
|
||||||
|
|
||||||
|
@updates.setter
|
||||||
|
def updates(self, ups):
|
||||||
|
assert isinstance(ups, bool), "updates are either on (True) or off (False)"
|
||||||
|
self._highest_parent_._updates = ups
|
||||||
|
if ups:
|
||||||
|
self._trigger_params_changed()
|
||||||
|
|
||||||
def add_observer(self, observer, callble, priority=0):
|
def add_observer(self, observer, callble, priority=0):
|
||||||
"""
|
"""
|
||||||
Add an observer `observer` with the callback `callble`
|
Add an observer `observer` with the callback `callble`
|
||||||
|
|
@ -91,6 +104,8 @@ class Observable(object):
|
||||||
:param min_priority: only notify observers with priority > min_priority
|
:param min_priority: only notify observers with priority > min_priority
|
||||||
if min_priority is None, notify all observers in order
|
if min_priority is None, notify all observers in order
|
||||||
"""
|
"""
|
||||||
|
if not self.updates:
|
||||||
|
return
|
||||||
if which is None:
|
if which is None:
|
||||||
which = self
|
which = self
|
||||||
if min_priority is None:
|
if min_priority is None:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue