diff --git a/controllers/main.py b/controllers/main.py index 42d1edc..7d67e43 100755 --- a/controllers/main.py +++ b/controllers/main.py @@ -11,8 +11,11 @@ def check_active_app(self): @params : None @returns : Appid else 0 ''' - appln_id = request.env['onesignal.credentials'].sudo().search([('is_active','=',True)]) - if appln_id: + if ( + appln_id := request.env['onesignal.credentials'] + .sudo() + .search([('is_active', '=', True)]) + ): return appln_id.app_id else: return "0" \ No newline at end of file diff --git a/models/onesignal_credentials.py b/models/onesignal_credentials.py index 28b2e83..1f16978 100755 --- a/models/onesignal_credentials.py +++ b/models/onesignal_credentials.py @@ -13,9 +13,7 @@ class OnesignalCredentials(models.Model): def activate_app(self): self.ensure_one() if not self.is_active: - #STEP 1 : CHECK IF BOOLEAN ACTIVE IN OTHER APP - app_ids = self.search([('is_active','=',True)]) - if app_ids: + if app_ids := self.search([('is_active', '=', True)]): raise Warning("Only one app can be active a time.") else: self.is_active = True diff --git a/models/onesignal_message.py b/models/onesignal_message.py index c8aa4cf..e8dbca2 100755 --- a/models/onesignal_message.py +++ b/models/onesignal_message.py @@ -38,8 +38,10 @@ def get_key(self, var, priority): @api.multi def get_app_data(self, app): - header = {"Content-Type": "application/json; charset=utf-8", - "Authorization": "Basic {}".format(app.apikey)} + header = { + "Content-Type": "application/json; charset=utf-8", + "Authorization": f"Basic {app.apikey}", + } appln_id = app.app_id return {'header':header, 'app_id':appln_id} @@ -57,31 +59,28 @@ def send_push_notification(self): message_title = self.message_title message_title = message_title.encode('utf-8') - - payload = {"app_id": "{}".format(appln_data.get('app_id')), - "included_segments": ["All"], - "contents": {"en": "{}".format(message_content)}, - "headings" :{"en": "{}".format(message_title)}, - "url": "{}".format(self.launch_url), - "chrome_web_icon": "{}".format(self.icon), - "ttl": self.time_to_live or 3, - } + + payload = { + "app_id": f"{appln_data.get('app_id')}", + "included_segments": ["All"], + "contents": {"en": f"{message_content}"}, + "headings": {"en": f"{message_title}"}, + "url": f"{self.launch_url}", + "chrome_web_icon": f"{self.icon}", + "ttl": self.time_to_live or 3, + } if self.priority: priority = self.get_key(var,self.priority) - payload.update({ - 'priority':priority - }) + payload['priority'] = priority if self.send_to_chrome or self.send_to_mozilla or self.send_to_edge: - payload.update({ - 'isAnyWeb': True - }) + payload['isAnyWeb'] = True try: response = requests.post("https://onesignal.com/api/v1/notifications", headers=header, data=json.dumps(payload)) if response.status_code == 200: resp = response.json() - self.summary = "RECEIPIENTS : {}".format(resp.get('recipients')) + self.summary = f"RECEIPIENTS : {resp.get('recipients')}" else: - self.summary = "Error : {}".format(response.text) + self.summary = f"Error : {response.text}" except SSLError as ex: raise Warning("Oops, SSL Seems blocking the request.") except Exception as ex: