Clean up the factory defaults writing
This commit is contained in:
@@ -389,15 +389,8 @@ class App(QtCore.QObject):
|
|||||||
json.dump({}, f)
|
json.dump({}, f)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
# create factory_defaults.FlatConfig file if there is none
|
# Write factory_defaults.FlatConfig file to disk
|
||||||
try:
|
FlatCAMDefaults.save_factory_defaults_file(os.path.join(self.data_path, "factory_defaults.FlatConfig"))
|
||||||
f = open(self.data_path + '/factory_defaults.FlatConfig')
|
|
||||||
f.close()
|
|
||||||
except IOError:
|
|
||||||
App.log.debug('Creating empty factory_defaults.FlatConfig')
|
|
||||||
f = open(self.data_path + '/factory_defaults.FlatConfig', 'w')
|
|
||||||
json.dump({}, f)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
# create a recent files json file if there is none
|
# create a recent files json file if there is none
|
||||||
try:
|
try:
|
||||||
@@ -438,7 +431,8 @@ class App(QtCore.QObject):
|
|||||||
# ############################################################################################################
|
# ############################################################################################################
|
||||||
self.fcDefaults = FlatCAMDefaults()
|
self.fcDefaults = FlatCAMDefaults()
|
||||||
current_defaults_path = os.path.join(self.data_path, "current_defaults.FlatConfig")
|
current_defaults_path = os.path.join(self.data_path, "current_defaults.FlatConfig")
|
||||||
self.fcDefaults.load_defaults(filename=current_defaults_path)
|
if user_defaults:
|
||||||
|
self.fcDefaults.load_defaults(filename=current_defaults_path)
|
||||||
self.defaults = self.fcDefaults.defaults
|
self.defaults = self.fcDefaults.defaults
|
||||||
|
|
||||||
if self.defaults["global_gray_icons"] is False:
|
if self.defaults["global_gray_icons"] is False:
|
||||||
|
|||||||
24
defaults.py
24
defaults.py
@@ -20,6 +20,7 @@ if '_' not in builtins.__dict__:
|
|||||||
|
|
||||||
log = logging.getLogger('base')
|
log = logging.getLogger('base')
|
||||||
|
|
||||||
|
|
||||||
class FlatCAMDefaults:
|
class FlatCAMDefaults:
|
||||||
|
|
||||||
factory_defaults = {
|
factory_defaults = {
|
||||||
@@ -673,7 +674,6 @@ class FlatCAMDefaults:
|
|||||||
self.current_defaults.update(self.factory_defaults)
|
self.current_defaults.update(self.factory_defaults)
|
||||||
self.old_defaults_found = False
|
self.old_defaults_found = False
|
||||||
|
|
||||||
|
|
||||||
def load_defaults(self, filename: str):
|
def load_defaults(self, filename: str):
|
||||||
"""
|
"""
|
||||||
Loads the application's default settings from current_defaults.FlatConfig into
|
Loads the application's default settings from current_defaults.FlatConfig into
|
||||||
@@ -711,7 +711,6 @@ class FlatCAMDefaults:
|
|||||||
if self.is_old_defaults(defaults):
|
if self.is_old_defaults(defaults):
|
||||||
self.old_defaults_found = True
|
self.old_defaults_found = True
|
||||||
defaults = self.migrate_old_defaults(defaults=defaults)
|
defaults = self.migrate_old_defaults(defaults=defaults)
|
||||||
self.recreate_factory_defaults_file(data_path=os.path.dirname(filename))
|
|
||||||
else:
|
else:
|
||||||
self.old_defaults_found = False
|
self.old_defaults_found = False
|
||||||
|
|
||||||
@@ -752,19 +751,22 @@ class FlatCAMDefaults:
|
|||||||
migrated[k] = v
|
migrated[k] = v
|
||||||
return migrated
|
return migrated
|
||||||
|
|
||||||
def recreate_factory_defaults_file(self, data_path: str):
|
@classmethod
|
||||||
try:
|
def save_factory_defaults_file(cls, file_path: str):
|
||||||
fact_def_file_path = os.path.join(data_path, 'factory_defaults.FlatConfig')
|
# Delete any existing factory defaults file
|
||||||
os.chmod(fact_def_file_path, stat.S_IRWXO | stat.S_IWRITE | stat.S_IWGRP)
|
if os.path.isfile(file_path):
|
||||||
os.remove(fact_def_file_path)
|
os.chmod(file_path, stat.S_IRWXO | stat.S_IWRITE | stat.S_IWGRP)
|
||||||
|
os.remove(file_path)
|
||||||
|
|
||||||
|
try:
|
||||||
# recreate a new factory defaults file and save the factory defaults data into it
|
# recreate a new factory defaults file and save the factory defaults data into it
|
||||||
f_f_def_s = open(fact_def_file_path, "w")
|
f_f_def_s = open(file_path, "w")
|
||||||
simplejson.dump(self.defaults, f_f_def_s, default=to_dict, indent=2, sort_keys=True)
|
simplejson.dump(cls.factory_defaults, f_f_def_s, default=to_dict, indent=2, sort_keys=True)
|
||||||
f_f_def_s.close()
|
f_f_def_s.close()
|
||||||
|
|
||||||
# and then make the factory_defaults.FlatConfig file read_only
|
# and then make the factory_defaults.FlatConfig file read_only
|
||||||
# so it can't be modified after creation.
|
# so it can't be modified after creation.
|
||||||
os.chmod(fact_def_file_path, stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
|
os.chmod(file_path, stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
|
||||||
|
log.debug("FlatCAM factory defaults written to: %s" % file_path)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.debug("recreate_factory_defaults_file() -> %s" % str(e))
|
log.error("save_factory_defaults_file() -> %s" % str(e))
|
||||||
|
|||||||
Reference in New Issue
Block a user