@@ -31,18 +31,17 @@ class Mode(Enum):
3131fontURL : str = "/fonts"
3232modeURL : str = "/rendering/mode"
3333
34+
3435class Fluepdot :
3536 def __init__ (self , baseURL : str , width : int = 115 , height : int = 16 ):
3637 self .baseURL = baseURL
3738 self .width = width
3839 self .height = height
3940 self .fonts : Optional [List [str ]] = None
4041
41-
4242 def set_url (self , url : str ):
4343 self .baseURL = url
4444
45-
4645 def post_time (self ) -> None :
4746 import datetime
4847 dt : str = ""
@@ -52,44 +51,36 @@ def post_time(self) -> None:
5251 dt = ndt
5352 self .post_text (dt , x = 8 , y = 1 , font = "fixed_7x14" )
5453
55-
5654 def get_size (self ) -> (int , int ):
5755 frame = self .get_frame ()
5856 self .width = len (frame [0 ])
5957 self .height = len (frame ) - 1
6058 return [self .width , self .height ]
6159
62-
6360 def get_frame (self ) -> List [str ]:
6461 r = self ._get (frameURL )
6562 return r .text .split ('\n ' )
6663
67-
68- def get_pixel (x : int = 0 , y : int = 0 ) -> bool :
64+ def get_pixel (self , x : int = 0 , y : int = 0 ) -> bool :
6965 r = self ._get (pixelURL , get = {"x" : x , "y" : y })
7066 rtn = True if r .text == "X" else False if r .text == " " else None
7167 return rtn
7268
73-
7469 def get_fonts (self ) -> None :
7570 r = self ._get (fontURL )
7671 fonts = r .text .split ("\n " )
7772 print (fonts )
7873
79-
8074 def get_mode (self ) -> Mode :
8175 r = self ._get (modeURL )
8276 return Mode (r .text )
8377
84-
8578 def post_text (self , text : str , x : int = 0 , y : int = 0 , font : str = "DejaVuSans12" ) -> Response :
8679 return self ._post (textURL , get = {"x" : x , "y" : y , "font" : font }, post = text )
8780
88-
8981 def post_frame_raw (self , frame : str ) -> Response :
9082 return self ._post (frameURL , post = frame )
9183
92-
9384 def post_frame (self , frame : List [List [bool ]]) -> Response :
9485 data : List [List [str ]] = [[" " ] * self .width for _ in range (self .height )]
9586 for x , l in enumerate (frame ):
@@ -104,39 +95,40 @@ def post_frame(self, frame: List[List[bool]]) -> Response:
10495 outStr = outStr + "" .join (line ) + "\n "
10596 return self ._post (frameURL , post = outStr )
10697
107-
108- def set_pixel (x : int = 0 , y : int = 0 ) -> Response :
98+ def set_pixel (self , x : int = 0 , y : int = 0 ) -> Response :
10999 return self ._post (pixelURL , get = {"x" : x , "y" : y })
110100
111-
112- def unset_pixel (x : int = 0 , y : int = 0 ) -> Response :
101+ def unset_pixel (self , x : int = 0 , y : int = 0 ) -> Response :
113102 return self ._delete (pixelURL , get = {"x" : x , "y" : y })
114103
115-
116104 def set_mode (self , mode : Mode = Mode .FULL ) -> Response :
117105 return self ._put (modeURL , post = str (mode .value ))
118106
119-
120- def _delete (self , endpoint : str , get : GetParam = {}, post : PostParam = '' ) -> Response :
121- if self .baseURL == None :
107+ def _delete (self , endpoint : str , get : GetParam | None = None ) -> Response :
108+ if get is None :
109+ get = {}
110+ if self .baseURL is None :
122111 raise RuntimeError ('baseURL is None, call set_url' )
123112 return requests .delete (url = self .baseURL + endpoint , params = get )
124113
125-
126- def _post (self , endpoint : str , get : GetParam = {}, post : PostParam = '' ) -> Response :
127- if self .baseURL == None :
114+ def _post (self , endpoint : str , get : GetParam | None = None , post : PostParam = '' ) -> Response :
115+ if get is None :
116+ get = {}
117+ if self .baseURL is None :
128118 raise RuntimeError ('baseURL is None, call set_url' )
129119 return requests .post (url = self .baseURL + endpoint , params = get , data = post )
130120
131-
132- def _put (self , endpoint : str , get : GetParam = {}, post : PostParam = '' ) -> Response :
133- if self .baseURL == None :
121+ def _put (self , endpoint : str , get : GetParam | None = None , post : PostParam = '' ) -> Response :
122+ if get is None :
123+ get = {}
124+ if self .baseURL is None :
134125 raise RuntimeError ('baseURL is None, call set_url' )
135126 return requests .put (url = self .baseURL + endpoint , params = get , data = post )
136127
137-
138- def _get (self , endpoint : str , get : GetParam = {}) -> Response :
139- if self .baseURL == None :
128+ def _get (self , endpoint : str , get : GetParam | None = None ) -> Response :
129+ if get is None :
130+ get = {}
131+ if self .baseURL is None :
140132 raise RuntimeError ('baseURL is None, call set_url' )
141133 return requests .get (url = self .baseURL + endpoint , params = get )
142134
0 commit comments