66
77
88class ProductAnnouncementManager :
9+
910 """Base class for centralized helper methods"""
1011
1112 base_try_free = "Try today for free"
@@ -21,9 +22,9 @@ def __init__(
2122 * args : list ,
2223 request : HttpRequest = None ,
2324 response : HttpResponse = None ,
24- response_data : dict = {} ,
25+ response_data : dict | None ,
2526 ** kwargs : dict ,
26- ) -> None :
27+ ):
2728 """Skip all this if the CREATE_CLOUD_BANNER is not set"""
2829 if not settings .CREATE_CLOUD_BANNER :
2930 return
@@ -35,17 +36,17 @@ def __init__(
3536 )
3637 elif response is not None and isinstance (response , HttpResponse ):
3738 response .data = self ._add_api_response_key (
38- message = f"{ self .base_message } { self .api_outreach } " , data = response .data
39+ message = f"{ self .base_message } { self .api_outreach } " , data = response .data ,
3940 )
40- elif response_data != {} and isinstance (response_data , dict ):
41+ elif response_data is not None and isinstance (response_data , dict ):
4142 response_data = self ._add_api_response_key (
42- message = f"{ self .base_message } { self .api_outreach } " , data = response_data
43+ message = f"{ self .base_message } { self .api_outreach } " , data = response_data ,
4344 )
4445 else :
4546 msg = "At least one of request, response, or response_data must be supplied"
4647 raise ValueError (msg )
4748
48- def _add_django_message (self , request : HttpRequest , message : str ) -> None :
49+ def _add_django_message (self , request : HttpRequest , message : str ):
4950 """Add a message to the UI"""
5051 messages .add_message (
5152 request = request ,
@@ -72,9 +73,9 @@ def __init__(
7273 * args : list ,
7374 request : HttpRequest = None ,
7475 response : HttpResponse = None ,
75- response_data : dict = {} ,
76+ response_data : dict | None ,
7677 ** kwargs : dict ,
77- ) -> None :
78+ ):
7879 self .base_message = "Pro comes with support."
7980 super ().__init__ (
8081 * args ,
@@ -91,10 +92,10 @@ def __init__(
9192 * args : list ,
9293 request : HttpRequest = None ,
9394 response : HttpResponse = None ,
94- response_data : dict = {} ,
95+ response_data : dict | None ,
9596 duration : float = 0.0 , # seconds
9697 ** kwargs : dict ,
97- ) -> None :
98+ ):
9899 self .trigger_threshold = 60.0
99100 minute_duration = round (duration / 60.0 )
100101 self .base_message = f"Your import took about { minute_duration } minute(s). Did you know Pro has async imports?"
@@ -114,10 +115,10 @@ def __init__(
114115 * args : list ,
115116 request : HttpRequest = None ,
116117 response : HttpResponse = None ,
117- response_data : dict = {} ,
118+ response_data : dict | None ,
118119 duration : float = 0.0 , # seconds
119120 ** kwargs : dict ,
120- ) -> None :
121+ ):
121122 self .trigger_threshold = 15.0
122123 self .base_message = "Did you know, Pro has a new UI and is performance tested up to 22M findings?"
123124 if duration > self .trigger_threshold :
@@ -149,10 +150,10 @@ def __init__(
149150 * args : list ,
150151 request : HttpRequest = None ,
151152 response : HttpResponse = None ,
152- response_data : dict = {} ,
153- scan_type : str = None ,
153+ response_data : dict | None ,
154+ scan_type : str | None ,
154155 ** kwargs : dict ,
155- ) -> None :
156+ ):
156157 self .base_message = (
157158 f"Did you know, Pro has an automated no-code connector for { scan_type } ?"
158159 )
0 commit comments