File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- import attr
1+ from importlib import import_module
22
3- import requests
3+ import attr
44
55from ..factory import target_factory
66from ..protocol import DigitalOutputProtocol
@@ -18,6 +18,7 @@ class LXAIOBusPIODriver(Driver, DigitalOutputProtocol):
1818
1919 def __attrs_post_init__ (self ):
2020 super ().__attrs_post_init__ ()
21+ self ._requests = import_module ('requests' )
2122
2223 def on_activate (self ):
2324 # we can only forward if the backend knows which port to use
@@ -29,7 +30,7 @@ def on_activate(self):
2930 def set (self , status ):
3031 if self .pio .invert :
3132 status = not status
32- r = requests .post (
33+ r = self . _requests .post (
3334 self ._url , data = {'value' : '1' if status else '0' }
3435 )
3536 r .raise_for_status ()
@@ -40,7 +41,7 @@ def set(self, status):
4041 @Driver .check_active
4142 @step (result = ['True' ])
4243 def get (self ):
43- r = requests .get (self ._url )
44+ r = self . _requests .get (self ._url )
4445 r .raise_for_status ()
4546 j = r .json ()
4647 if j ["code" ] != 0 :
Original file line number Diff line number Diff line change 11import logging
22from time import monotonic
3+ from importlib import import_module
34
45import attr
5- import requests
66
77from ..factory import target_factory
88from .common import ManagedResource , ResourceManager
1212class LXAIOBusNodeManager (ResourceManager ):
1313 def __attrs_post_init__ (self ):
1414 super ().__attrs_post_init__ ()
15+ self ._requests = import_module ('requests' )
1516
1617 self .log = logging .getLogger ('LXAIOBusNodeManager' )
1718
1819 self ._last = 0.0
1920
2021 def _get_nodes (self , host ):
2122 try :
22- r = requests .get (f'http://{ host } /nodes/' )
23+ r = self . _requests .get (f'http://{ host } /nodes/' )
2324 r .raise_for_status ()
2425 j = r .json ()
2526 return j ["result" ]
26- except requests .exceptions .ConnectionError :
27+ except self . _requests .exceptions .ConnectionError :
2728 self .log .exception ("failed to connect to host %s" , host )
2829 return []
2930
Original file line number Diff line number Diff line change 44import queue
55import warnings
66from collections import OrderedDict
7+ from importlib import import_module
78
89import attr
9- import pyudev
1010
1111from ..factory import target_factory
1212from .common import ManagedResource , ResourceManager
@@ -21,9 +21,10 @@ def __attrs_post_init__(self):
2121 self .queue = queue .Queue ()
2222
2323 self .log = logging .getLogger ('UdevManager' )
24- self ._context = pyudev .Context ()
25- self ._monitor = pyudev .Monitor .from_netlink (self ._context )
26- self ._observer = pyudev .MonitorObserver (self ._monitor ,
24+ self ._pyudev = import_module ('pyudev' )
25+ self ._context = self ._pyudev .Context ()
26+ self ._monitor = self ._pyudev .Monitor .from_netlink (self ._context )
27+ self ._observer = self ._pyudev .MonitorObserver (self ._monitor ,
2728 callback = self ._insert_into_queue )
2829 self ._observer .start ()
2930
You can’t perform that action at this time.
0 commit comments