11
22import os
33import shutil
4+ import errno
45
56from UM .i18n import i18nCatalog
67from UM .Extension import Extension
@@ -18,7 +19,7 @@ def __init__(self):
1819 self .setMenuName ("Flashforge Finder" )
1920 self .addMenuItem (catalog .i18nc ("@item:inmenu" , "Install printer support" ), self .installFiles )
2021
21- def installFiles (self ):
22+ def installFiles (self , showMessage = True ):
2223 Logger .log ("i" , "Installing printer support files (*.def.json, meshes and scripts) ..." )
2324
2425 # Local paths
@@ -44,6 +45,22 @@ def installFiles(self):
4445 "PauseAtLayerFFFinder.py" : {
4546 "src" : os .path .join (plugin_path , "scripts" ),
4647 "dst" : os .path .join (resources_path , "scripts" )
48+ },
49+ "finder_low.inst.cfg" : {
50+ "src" : os .path .join (plugin_path , "printer" , "quality" , "finder" ),
51+ "dst" : os .path .join (resources_path , "quality" , "finder" )
52+ },
53+ "finder_standard.inst.cfg" : {
54+ "src" : os .path .join (plugin_path , "printer" , "quality" , "finder" ),
55+ "dst" : os .path .join (resources_path , "quality" , "finder" )
56+ },
57+ "finder_high.inst.cfg" : {
58+ "src" : os .path .join (plugin_path , "printer" , "quality" , "finder" ),
59+ "dst" : os .path .join (resources_path , "quality" , "finder" )
60+ },
61+ "finder_hyper.inst.cfg" : {
62+ "src" : os .path .join (plugin_path , "printer" , "quality" , "finder" ),
63+ "dst" : os .path .join (resources_path , "quality" , "finder" )
4764 }
4865 }
4966
@@ -56,15 +73,22 @@ def installFiles(self):
5673 if not os .path .exists (dst ):
5774 Logger .log ("i" , "Installing resource '%s' into '%s'" % (src , dst ))
5875 if not os .path .exists (dst_dir ):
59- os .mkdir (dst_dir )
76+ try :
77+ os .makedirs (dst_dir )
78+ except OSError as e :
79+ if e .errno == errno .EEXIST and os .path .isdir (dst_dir ):
80+ pass
81+ else :
82+ raise
6083 shutil .copy2 (src , dst , follow_symlinks = False )
6184 restart_required = True
6285
6386 # Display a message to the user
64- if restart_required :
65- msg = catalog .i18nc ("@info:status" , "Flashforge Finder files installed. Please restart Cura." )
66- else :
67- msg = catalog .i18nc ("@info:status" , "Flashforge Finder files were already installed." )
68- Message (msg ).show ()
87+ if showMessage :
88+ if restart_required :
89+ msg = catalog .i18nc ("@info:status" , "Flashforge Finder files installed. Please restart Cura." )
90+ else :
91+ msg = catalog .i18nc ("@info:status" , "Flashforge Finder files were already installed." )
92+ Message (msg ).show ()
6993
7094 return
0 commit comments