subkanthi commented on a change in pull request #17400:
URL: https://github.com/apache/airflow/pull/17400#discussion_r689136892



##########
File path: airflow/providers/slack/operators/slack.py
##########
@@ -195,49 +195,50 @@ class SlackAPIFileOperator(SlackAPIOperator):
     :type content: str
     """
 
-    template_fields = ('channel', 'initial_comment', 'filename', 'filetype', 
'content')
+    template_fields = ('channel', 'initial_comment', 'filetype', 'content')
     ui_color = '#44BEDF'
 
     def __init__(
         self,
         channel: str = '#general',
         initial_comment: str = 'No message has been set!',
-        filename: str = None,
+        file: str = None,
         filetype: str = None,
         content: str = None,
         **kwargs,
     ) -> None:
         self.method = 'files.upload'
         self.channel = channel
         self.initial_comment = initial_comment
-        self.filename = filename
+        self.file = file
         self.filetype = filetype
         self.content = content
         self.file_params = {}
         super().__init__(method=self.method, **kwargs)
 
-    def construct_api_call_params(self) -> Any:
+    def execute(self, **kwargs):
+        """
+        The SlackAPIOperator calls will not fail even if the call is not 
unsuccessful.
+        It should not prevent a DAG from completing in success
+        """
+        slack = SlackHook(token=self.token, slack_conn_id=self.slack_conn_id)
+
+        # If file content is passed.
         if self.content is not None:
             self.api_params = {
                 'channels': self.channel,
                 'content': self.content,
                 'initial_comment': self.initial_comment,
             }
-        elif self.filename is not None:
+            slack.call(self.method, data=self.api_params)
+        # If file name is passed.
+        elif self.file is not None:
             self.api_params = {
                 'channels': self.channel,
-                'filename': self.filename,
+                'filename': self.file,
                 'filetype': self.filetype,
                 'initial_comment': self.initial_comment,
             }
-            self.file_params = {'file': self.filename}
-
-    def execute(self, **kwargs):
-        """
-        The SlackAPIOperator calls will not fail even if the call is not 
unsuccessful.
-        It should not prevent a DAG from completing in success
-        """
-        if not self.api_params:
-            self.construct_api_call_params()
-        slack = SlackHook(token=self.token, slack_conn_id=self.slack_conn_id)
-        slack.call(self.method, data=self.api_params, files=self.file_params)
+            with open(self.file, "rb") as file_name:

Review comment:
       changed to file_handle, thanks




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to