def METHOD_NAME(self, user, password, data):
    html = self.load("https://uploadgig.com/login/form")
    if self.LOGIN_SKIP_PATTERN in html:
        self.skip_login()
    url, inputs = parse_html_form('id="login_form"', html)
    if inputs is None:
        self.fail_login("Login form not found")
    inputs["email"] = user
    inputs["pass"] = password
    if '<div class="row" id="parent_captcha_container">' in html:
        # dummy pyfile
        pyfile = PyFile(
            self.pyload.files,
            -1,
            "https://uploadgig.com",
            "https://uploadgig.com",
            0,
            0,
            "",
            self.classname,
            -1,
            -1,
        )
        pyfile.plugin = self
        recaptcha = ReCaptcha(pyfile)
        captcha_key = recaptcha.detect_key(html)
        if captcha_key:
            self.captcha = recaptcha
            response = recaptcha.challenge(captcha_key, html)
            inputs["g-recaptcha-response"] = response
        else:
            self.log_error(self._("ReCaptcha key not found"))
            self.fail_login(self._("ReCaptcha key not found"))
    html = self.load(url, post=inputs)
    json_data = json.loads(html)
    if json_data.get("state") != "1":
        self.log_error(json_data["msg"])
        self.fail_login()