import os from flask import render_template from statuspengguna.helper import ( IsZipUploaded, CurrentDistribusi, IsDistribusiLive, ) from forms.uploadform import UploadForm from forms.distribusiform import DistribusiForm from forms.themeform import ThemeForm from forms.editorform import EditorForm from forms.selectorform import SelectorForm def EditCss(): editorform = EditorForm() current_distribusi = CurrentDistribusi() if editorform.validate_on_submit(): ValidateEditCssForm(editorform, current_distribusi) return RenderDistribusiTemplate(current_distribusi) return RenderEditorTemplate(editorform, current_distribusi) def ValidateEditCssForm(editorform, current_distribusi): newcssfolder = os.path.join("themes/userstyles", current_distribusi) if not os.path.exists(newcssfolder): os.mkdir(newcssfolder) cssfilename = "{}.css".format(editorform.cssname.data) with open(os.path.join(newcssfolder, cssfilename), "w") as cssfile: cssfile.write(editorform.css.data) cssfile.close def RenderDistribusiTemplate(current_distribusi): uploadform = UploadForm() distribusiform = DistribusiForm() themeform = ThemeForm() selectorform = SelectorForm() files_uploaded = IsZipUploaded(current_distribusi) distribusi_live = IsDistribusiLive(current_distribusi) css_selected = True selectorvisible = False template = render_template( "distribusi.html", uploadform=uploadform, distribusiform=distribusiform, themeform=themeform, selectorform=selectorform, files_uploaded=files_uploaded, distribusi_live=distribusi_live, css_selected=css_selected, selectorvisible=selectorvisible, ) return template def RenderEditorTemplate(editorform, current_distribusi): htmlplaceholder = HtmlPlaceholder() cssplaceholder = CssPlaceholder() editorform.css.data = cssplaceholder files_uploaded = IsZipUploaded(current_distribusi) distribusi_live = IsDistribusiLive(current_distribusi) template = render_template( "editor.html", files_uploaded=files_uploaded, distribusi_live=distribusi_live, editorform=editorform, htmlplaceholder=htmlplaceholder, ) return template def CssPlaceholder(): cssplaceholder = "Try out your CSS here" with open("themes/editor/placeholder.css") as f: cssplaceholder = f.read() return cssplaceholder def HtmlPlaceholder(): htmlplaceholder = "Write some test HTML here" with open("themes/editor/placeholder.html") as f: htmlplaceholder = f.read() return htmlplaceholder