Robot Framework SeleniumLibrary
__init__.py
Go to the documentation of this file.
1 # Copyright 2008-2011 Nokia Networks
2 # Copyright 2011-2016 Ryan Tomac, Ed Manlove and contributors
3 # Copyright 2016- Robot Framework Foundation
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 
17 from .scope_event import ScopeStart, ScopeEnd
18 
19 
20 __all__ = [
21  "on",
22  "dispatch",
23  "register_event"
24 ]
25 
26 
29 _registered_events = [ScopeStart, ScopeEnd]
30 
33 _events = []
34 
35 
36 def on(event_name, *args, **kwargs):
37  for event in _registered_events:
38  if event.name == event_name:
39  _events.append(event(*args, **kwargs))
40  return
41 
42 
43 def dispatch(event_name, *args, **kwargs):
44  for event in _events:
45  if event.name == event_name:
46  event.trigger(*args, **kwargs)
47 
48 
49 def register_event(event):
50  for registered_event in _registered_events:
51  if event.name == registered_event.name:
52  raise AttributeError("An event with the name " + event.name + " already exists.")
53  _registered_events.append(event)
def dispatch(event_name, *args, **kwargs)
Definition: __init__.py:43
def on(event_name, *args, **kwargs)
Definition: __init__.py:36