'+templates[template][1]+'
' - result += '" + templates[template][1] + "
" + result += "" + result += "" + result += "" return result - -def buildCard(filename,method,arg=None): +def buildCard(filename, method, arg=None): """builds an html'+author+'
' - result += ''+size+'
' - result += '" + author + "
" + result += "" + size + "
" + result += "" + result += "" + result += "" return result - def handle(): "builds the HTML code of the start page" - global iconbank,tempfolder + global iconbank, tempfolder # reuse stuff from previous runs to reduce temp dir clutter import Start - if hasattr(Start,"iconbank"): + + if hasattr(Start, "iconbank"): iconbank = Start.iconbank - if hasattr(Start,"tempfolder"): + if hasattr(Start, "tempfolder"): tempfolder = Start.tempfolder else: tempfolder = tempfile.mkdtemp(prefix="FreeCADStartThumbnails") @@ -338,30 +364,34 @@ def handle(): resources_dir = os.path.join(FreeCAD.getResourceDir(), "Mod", "Start", "StartPage") p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start") - template = p.GetString("Template","") + template = p.GetString("Template", "") if template: html_filename = template else: html_filename = os.path.join(resources_dir, "StartPage.html") js_filename = os.path.join(resources_dir, "StartPage.js") - css_filename = p.GetString("CSSFile",os.path.join(resources_dir, "StartPage.css")) - with open(html_filename, 'r') as f: + css_filename = p.GetString("CSSFile", os.path.join(resources_dir, "StartPage.css")) + with open(html_filename, "r") as f: HTML = f.read() - with open(js_filename, 'r') as f: + with open(js_filename, "r") as f: JS = f.read() - with open(css_filename, 'r') as f: + with open(css_filename, "r") as f: CSS = f.read() - HTML = HTML.replace("JS",JS) - HTML = HTML.replace("CSS",CSS) + HTML = HTML.replace("JS", JS) + HTML = HTML.replace("CSS", CSS) # set the language - HTML = HTML.replace("BCP47_LANGUAGE",QtCore.QLocale().bcp47Name()) + HTML = HTML.replace("BCP47_LANGUAGE", QtCore.QLocale().bcp47Name()) # get the stylesheet if we are using one - if FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool("UseStyleSheet",False): - qssfile = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/MainWindow").GetString("StyleSheet","") + if FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool( + "UseStyleSheet", False + ): + qssfile = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/MainWindow").GetString( + "StyleSheet", "" + ) if qssfile: # Search for stylesheet in user, system and resources locations user = os.path.join(FreeCAD.getUserAppDataDir(), "Gui", "Stylesheets") @@ -384,38 +414,65 @@ def handle(): f = QtCore.QFile(path) if f.open(QtCore.QIODevice.ReadOnly | QtCore.QFile.Text): ALTCSS = QtCore.QTextStream(f).readAll() - HTML = HTML.replace("","") + HTML = HTML.replace( + "", '" + ) else: - with open(path, 'r') as f: + with open(path, "r") as f: ALTCSS = f.read() - HTML = HTML.replace("","") + HTML = HTML.replace( + "", '" + ) # handle file thumbnail icons visibility and size - if not FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool("ShowFileThumbnailIcons",True): - HTML = HTML.replace("display: block; /* thumb icons display */","display: none; /* thumb icons display */") - HTML = HTML.replace("THUMBCARDSIZE","75px") + if not FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool( + "ShowFileThumbnailIcons", True + ): + HTML = HTML.replace( + "display: block; /* thumb icons display */", "display: none; /* thumb icons display */" + ) + HTML = HTML.replace("THUMBCARDSIZE", "75px") - thumb_icons_size = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetInt("FileThumbnailIconsSize", 128) - HTML = HTML.replace("THUMBSIZE",str(thumb_icons_size)+"px") - HTML = HTML.replace("THUMBCARDSIZE",str(thumb_icons_size + 75)+"px") + thumb_icons_size = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetInt( + "FileThumbnailIconsSize", 128 + ) + HTML = HTML.replace("THUMBSIZE", str(thumb_icons_size) + "px") + HTML = HTML.replace("THUMBCARDSIZE", str(thumb_icons_size + 75) + "px") # turn tips off if needed - if not FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool("ShowTips",True): - HTML = HTML.replace("display: block; /* footnote tips display */","display: none; /* footnote tips display */") + if not FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool( + "ShowTips", True + ): + HTML = HTML.replace( + "display: block; /* footnote tips display */", + "display: none; /* footnote tips display */", + ) # get FreeCAD version v = FreeCAD.Version() - VERSIONSTRING = TranslationTexts.T_VERSION + " " + v[0] + "." + v[1] + "." + v[2] +" " + TranslationTexts.T_BUILD + " " + v[3] - HTML = HTML.replace("VERSIONSTRING",VERSIONSTRING) + VERSIONSTRING = ( + TranslationTexts.T_VERSION + + " " + + v[0] + + "." + + v[1] + + "." + + v[2] + + " " + + TranslationTexts.T_BUILD + + " " + + v[3] + ) + HTML = HTML.replace("VERSIONSTRING", VERSIONSTRING) # translate texts texts = [t for t in dir(TranslationTexts) if t.startswith("T_")] for text in texts: - HTML = HTML.replace(text,getattr(TranslationTexts,text)) + HTML = HTML.replace(text, getattr(TranslationTexts, text)) # build a "create new" icon with the FreeCAD background color gradient @@ -426,17 +483,17 @@ def handle(): gradient = QtGui.QLinearGradient(0, 0, 0, 128) gradient.setColorAt(0.0, QtGui.QColor(c1)) gradient.setColorAt(1.0, QtGui.QColor(c2)) - i = QtGui.QImage(128,128,QtGui.QImage.Format_RGB16) + i = QtGui.QImage(128, 128, QtGui.QImage.Format_RGB16) pa = QtGui.QPainter(i) - pa.fillRect(i.rect(),gradient) + pa.fillRect(i.rect(), gradient) pa.end() - createimg = tempfile.mkstemp(dir=tempfolder,suffix='.png')[1] + createimg = tempfile.mkstemp(dir=tempfolder, suffix=".png")[1] i.save(createimg) iconbank["createimg"] = createimg # build SECTION_NEW_FILE - SECTION_NEW_FILE = "[^<]*?
') - html = pRE.sub(repl=r'X
', string=html) + pRE = re.compile(r"[^<]*?
") + html = pRE.sub(repl=r"X
", string=html) return html