def METHOD_NAME(self, pyfile):
    #: Get free url
    m = re.search(self.FREE_URL_PATTERN, self.data)
    if m is None:
        self.error(self._("FREE_URL_PATTERN not found"))
    parsed_url = "http://sdilej.cz" + m.group(1)
    self.log_debug("PARSED_URL:" + parsed_url)
    #: Get download ticket and parse html
    self.data = self.load(parsed_url)
    if re.search(self.MULTIDL_PATTERN, self.data):
        self.retry(5 * 60, 12, self._("Download limit reached"))
    try:
        form = re.search(self.FREE_FORM_PATTERN, self.data, re.S).group(1)
        inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form))
        pyfile.size = int(inputs["size"])
    except Exception as exc:
        self.log_error(exc)
        self.error(self._("Form"))
    #: Get and decrypt captcha
    captcha_url = "http://sdilej.cz/captcha.php"
    inputs["captchastring2"] = self.captcha.decrypt(captcha_url)
    self.data = self.load(parsed_url, post=inputs)
    if "<li>Zadaný ověřovací kód nesouhlasí!</li>" in self.data:
        self.retry_captcha()
    elif re.search(self.MULTIDL_PATTERN, self.data):
        self.retry(5 * 60, 12, self._("Download limit reached"))
    else:
        self.captcha.correct()
    m = re.search("countdown_number = (\d+);", self.data)
    self.set_wait(int(m.group(1)) if m else 50)
    #: Download the file, destination is determined by pyLoad
    self.log_debug("WAIT URL", self.req.lastEffectiveURL)
    m = re.search("free_wait.php\?server=(.*?)&(.*)", self.req.lastEffectiveURL)
    if m is None:
        self.error(self._("Download URL not found"))
    self.link = "http://{}/download.php?{}".format(m.group(1), m.group(2))
    self.wait()