@@ -5,6 +5,7 @@ local U = require('me_utilities')
5
5
local Serializer = require (' Serializer' )
6
6
local textutil = require (' textutil' )
7
7
local i18n = require (' i18n' )
8
+ local log = require (' log' )
8
9
9
10
local _ = i18n .ptranslate
10
11
@@ -590,7 +591,7 @@ local default_assignments =
590
591
},
591
592
}
592
593
593
- local function loadDeviceProfileFromFile (filename , deviceGenericName , folder )
594
+ local function loadDeviceProfileFromFile (filename , deviceGenericName , folder , keep_G_untouched )
594
595
local f , err = loadfile (filename )
595
596
local result
596
597
@@ -621,13 +622,21 @@ local function loadDeviceProfileFromFile(filename, deviceGenericName, folder)
621
622
622
623
-- deviceGenericName will be used for automatic combo selection
623
624
if f then
625
+
626
+ -- cleanup cockpit devices variable [ACS-1111: FC3 kneeboard pages cannot be turned in some cases](https://jira.eagle.ru/browse/ACS-1111)
627
+ local old_dev = _G .devices
628
+ if not keep_G_untouched then
629
+ _G .devices = nil
630
+ end
631
+
624
632
printLog (' File[' .. filename .. ' ] opened successfully!' )
625
633
626
634
local noLocalize = function (s )
627
635
return s
628
636
end
629
637
630
638
local setupEnv = function (env )
639
+ env .devices = nil
631
640
env .folder = folder
632
641
env .filename = filename
633
642
env .deviceName = deviceGenericName
@@ -637,7 +646,7 @@ local function loadDeviceProfileFromFile(filename, deviceGenericName, folder)
637
646
local old_filename = env .filename
638
647
local old_folder = env .folder
639
648
local fnew = folder_new or old_folder
640
- local res = loadDeviceProfileFromFile (filename ,deviceGenericName ,fnew )
649
+ local res = loadDeviceProfileFromFile (filename ,deviceGenericName ,fnew , true )
641
650
642
651
env .filename = old_filename
643
652
env .folder = old_folder
@@ -750,7 +759,7 @@ local function loadDeviceProfileFromFile(filename, deviceGenericName, folder)
750
759
end
751
760
752
761
else
753
- print ( ' ERROR: ' , res )
762
+ log . error ( res );
754
763
end
755
764
756
765
insideLocalizationHintsFuncCounter_ = insideLocalizationHintsFuncCounter_ - 1
@@ -781,9 +790,12 @@ local function loadDeviceProfileFromFile(filename, deviceGenericName, folder)
781
790
axisCommand .categoryHint = nonLocalized .axisCommands [i ].categoryHint
782
791
end
783
792
end
784
- else
785
- -- это ошибка в скрипте! ее быть не должно!
786
- print (' ERROR:' , result )
793
+ else -- это ошибка в скрипте! ее быть не должно!
794
+ log .error (result );
795
+ end
796
+
797
+ if not keep_G_untouched then
798
+ _G .devices = old_dev
787
799
end
788
800
else
789
801
printLog (err )
@@ -2320,7 +2332,7 @@ local function storeDeviceProfileDiffIntoFile_(filename, diff)
2320
2332
file :write (' return diff' )
2321
2333
file :close ()
2322
2334
else
2323
- printLog (string.format (' Cannot save profile into file[%s]! Error %s' , filename , err ))
2335
+ log . error (string.format (' Cannot save profile into file[%s]! Error %s' , filename , err ))
2324
2336
end
2325
2337
end
2326
2338
@@ -2427,7 +2439,7 @@ local function saveProfileModifiers_(profileName, folder)
2427
2439
file :write (' return modifiers' )
2428
2440
file :close ()
2429
2441
else
2430
- printLog (string.format (' Cannot save modifiers into file[%s]! Error %s' , filename , err ))
2442
+ log . error (string.format (' Cannot save modifiers into file[%s]! Error %s' , filename , err ))
2431
2443
end
2432
2444
end
2433
2445
end
@@ -2446,7 +2458,7 @@ local function saveDisabledDevices()
2446
2458
file :write (' return disabled' )
2447
2459
file :close ()
2448
2460
else
2449
- printLog (string.format (' Cannot save disabled devices into file[%s]! Error %s' , filename , err ))
2461
+ log . error (string.format (' Cannot save disabled devices into file[%s]! Error %s' , filename , err ))
2450
2462
end
2451
2463
end
2452
2464
@@ -2697,7 +2709,7 @@ local function saveFullDeviceProfile(profileName, deviceName, filename)
2697
2709
file :write (' }' )
2698
2710
file :close ()
2699
2711
else
2700
- printLog (string.format (' Cannot save profile into file[%s]! Error %s' , filename , err ))
2712
+ log . error (string.format (' Cannot save profile into file[%s]! Error %s' , filename , err ))
2701
2713
end
2702
2714
end
2703
2715
@@ -2838,4 +2850,4 @@ return {
2838
2850
getUiProfileName = getUiProfileName ,
2839
2851
setDeviceDisabled = setDeviceDisabled ,
2840
2852
getDeviceDisabled = getDeviceDisabled ,
2841
- }
2853
+ }
0 commit comments