from shared.forms import JekyllImportForm as SharedJekyllImportForm
import os
from .tasks import import_jekyll_articles


class JekyllImportForm(SharedJekyllImportForm):
    def handle_import(self):
        lock_file_name = f"/tmp/.{self.instance.id}.import-lock"

        if os.path.isfile(lock_file_name):
            return

        open(lock_file_name, "w").close()

        import_jekyll_articles.delay(
            article_parent_page_id=self.instance.id,
            collection_id=self.cleaned_data["collection"].id,
            url=self.cleaned_data["jekyll_repo_url"],
            dry_run=self.cleaned_data["dry_run"],
            use_git=True,
        )