Exemplo n.º 1
0
        def form_handler(request):
            text = request.form.get("text")
            slug = (request.form.get("name_eng").replace(" ", "-")).replace(
                "_", "-")
            if request.form.get("name_persian") == "":
                return {
                    "Result": False,
                    "Message": "نام فارسی دوره را وارد کنید."
                }
            if slug == "":
                return {
                    "Result": False,
                    "Message": "نام انگلیسی دوره را وارد کنید."
                }
            if text == "":
                return {"Result": False, "Message": "متن اصلی را وارد کنید."}
            uploaded_file = request.files["cover"]
            if uploaded_file.filename == "":
                return {"Message": "تصویر را آپلود کنید."}

            english_name = slug
            uploaded_image = request.files.get("cover")
            uploaded_image_bytes = uploaded_image.read()

            format_file = General().format_recognizer(uploaded_image_bytes)

            General().setup_blog_post_folder(slug)
            file_name = "blog-cover_" + english_name + "." + format_file
            location_image = "static/assets/images/blog/{}/".format(
                slug) + file_name
            location_image_href = "/static//assets/images/blog/{}/".format(
                slug) + file_name
            with open(location_image, "wb") as file:
                file.write(uploaded_image_bytes)

            General().image_resizer_using_imgp(location_image, 1500)
            General().image_optimizer_using_imgp(location_image)

            links_images = re.findall("src=[\"\'](.*?)[\"\']", text)
            for link in links_images:
                file_path = General().href_to_path(link)
                file_name = (file_path.split("/"))[-1]
                new_file_path = "static/assets/images/blog/{slug}/{file_name}".format(
                    slug=slug, file_name=file_name)
                new_file_href = "/static//assets/images/blog/{slug}/{file_name}".format(
                    slug=slug, file_name=file_name)
                General().move_file_path(file_path, new_file_path)
                text = text.replace(link, new_file_href)

            message = Database().add_post_blog_to_db(
                persian_name=request.form.get("name_persian"),
                eng_name=english_name,
                cover_href=location_image_href,
                text=text,
            )
            return message
Exemplo n.º 2
0
        def form_handler(request):
            text = request.form.get("text")
            day = request.form.get("day")
            slug = request.form.get("slug")

            if slug == "":
                return {
                    "Result": False,
                    "Message": "نام انگلیسی دوره را وارد کنید."
                }
            if request.form.get("day") == "":
                return {"Result": False, "Message": "روز دوره را وارد کنید."}
            if text == "":
                return {"Result": False, "Message": "متن اصلی را وارد کنید."}

            try:
                int(day)
            except ValueError:
                return {"Result": False, "Message": "روز دوره باید عدد باشد."}

            if Database().get_courses_data_from_db(slug) is False:
                return {
                    "Result": False,
                    "Message": "همچین دوره ای وجود ندارد."
                }

            links_images = re.findall("src=[\"\'](.*?)[\"\']", text)

            if General().check_existence_of_a_file(
                    "static/assets/courses/{slug}/days/{day}".format(
                        slug=slug, day=day)) is False:
                General().setup_course_folder(slug)

            for link in links_images:
                file_path = General().href_to_path(link)
                file_name = (file_path.split("/"))[-1]
                new_file_path = "static/assets/courses/{slug}/days/{day_number}/{file_name}".format(
                    slug=slug, day_number=day, file_name=file_name)
                new_file_href = "/static//assets/courses/{slug}/days/{day_number}/{file_name}".format(
                    slug=slug, day_number=day, file_name=file_name)
                General().move_file_path(file_path, new_file_path)
                text = text.replace(link, new_file_href)

            message = Database().add_day_text_data_to_db(
                course_name_slug=slug,
                day_num=day,
                text=text,
            )
            return message