2024-10-17 09:20:24 -04:00
|
|
|
from cthulhu import settings_manager
|
2024-10-16 17:06:34 -04:00
|
|
|
from json import load, dump
|
|
|
|
from pprint import pprint
|
|
|
|
|
|
|
|
def exerciseBackendAPI(backendName, profile):
|
|
|
|
settingsManager = settings_manager.SettingsManager(backendName)
|
|
|
|
|
|
|
|
print("\n\n================ Testing Backend %s ====================\n\n" % \
|
|
|
|
backendName)
|
|
|
|
print('Profile: ', profile)
|
|
|
|
print('Profiles list: ', settingsManager.availableProfiles())
|
|
|
|
|
|
|
|
#settingsManager.setProfile(profile)
|
|
|
|
|
|
|
|
# Getters
|
|
|
|
preferences = settingsManager.getPreferences(profile)
|
|
|
|
print('preferences: \n', preferences, '\n\n')
|
|
|
|
|
|
|
|
generalSettings = settingsManager.getGeneralSettings(profile)
|
|
|
|
print('generalSettings: \n', generalSettings, '\n\n')
|
|
|
|
|
|
|
|
pronunciations = settingsManager.getPronunciations(profile)
|
|
|
|
print('pronunciations: \n', pronunciations, '\n\n')
|
|
|
|
|
|
|
|
keybindings = settingsManager.getKeybindings(profile)
|
|
|
|
print('keybindings: \n', keybindings, '\n\n')
|
|
|
|
|
|
|
|
# Adding new settings to the profile and merging them
|
|
|
|
newGeneralSettings = getSettingsFromFile('general')
|
|
|
|
print("newGeneralSettings = ")
|
|
|
|
pprint(newGeneralSettings)
|
|
|
|
settingsManager._setProfileGeneral(newGeneralSettings)
|
|
|
|
generalSettings = settingsManager.getGeneralSettings(profile)
|
|
|
|
print("generalSettings = ")
|
|
|
|
pprint(generalSettings)
|
|
|
|
|
|
|
|
newKeybindingsSettings = getSettingsFromFile('keybindings')
|
|
|
|
print("\n\nnewKeybindingsSettings = ")
|
|
|
|
pprint(newKeybindingsSettings)
|
|
|
|
settingsManager._setProfileKeybindings(newKeybindingsSettings)
|
|
|
|
keybindings = settingsManager.getKeybindings(profile)
|
|
|
|
print("keybindings = ")
|
|
|
|
pprint(keybindings)
|
|
|
|
|
|
|
|
newPronunciationsSettings = getSettingsFromFile('pronunciations')
|
|
|
|
print("\n\nnewPronunciationsSettings = ")
|
|
|
|
pprint(newPronunciationsSettings)
|
|
|
|
settingsManager._setProfileGeneral(newPronunciationsSettings)
|
|
|
|
pronunciations = settingsManager.getPronunciations(profile)
|
|
|
|
print("pronunciations = ")
|
|
|
|
pprint(pronunciations)
|
|
|
|
|
|
|
|
#settingsManager.saveSettings()
|
|
|
|
isFirstStart = settingsManager.isFirstStart()
|
|
|
|
print("\n\nIs First Start? => ", isFirstStart)
|
|
|
|
print("\n\nSetting firstStart key")
|
|
|
|
settingsManager.setFirstStart()
|
|
|
|
isFirstStart = settingsManager.isFirstStart()
|
|
|
|
print("\n\nIs First Start? => ", isFirstStart)
|
|
|
|
print("\n\n===========================================================\n\n")
|
|
|
|
|
|
|
|
print("\n\nTesting import from a file I")
|
|
|
|
print("\n===========================================================")
|
|
|
|
availableProfilesBefore = settingsManager.availableProfiles()
|
|
|
|
print("\nAvailable Profiles BEFORE the import => ", availableProfilesBefore)
|
|
|
|
settingsManager.importProfile('importFile.conf')
|
|
|
|
availableProfilesAfter = settingsManager.availableProfiles()
|
|
|
|
print("\nAvailable Profiles AFTER the import => ", availableProfilesAfter)
|
|
|
|
|
|
|
|
print("\n\nTesting import from a file II")
|
|
|
|
print("\n===========================================================")
|
|
|
|
availableProfilesBefore = settingsManager.availableProfiles()
|
|
|
|
print("\nAvailable Profiles BEFORE the import => ", availableProfilesBefore)
|
|
|
|
settingsManager.importProfile('importFile2.conf')
|
|
|
|
availableProfilesAfter = settingsManager.availableProfiles()
|
|
|
|
print("\nAvailable Profiles AFTER the import => ", availableProfilesAfter)
|
|
|
|
|
|
|
|
|
|
|
|
def getSettingsFromFile(dictName):
|
|
|
|
fileName = '%sSettings.conf' % dictName
|
|
|
|
try:
|
|
|
|
dictFile = open(fileName)
|
|
|
|
except:
|
|
|
|
import sys
|
|
|
|
print("You should run the test from the test directory")
|
|
|
|
sys.exit()
|
|
|
|
settings = load(dictFile)
|
|
|
|
dictFile.close()
|
|
|
|
return settings
|
|
|
|
|
|
|
|
# main
|
|
|
|
profile = 'default'
|
|
|
|
print('profile: default backendName: json\n')
|
|
|
|
exerciseBackendAPI('json', 'default')
|
|
|
|
#print 'profile: default backendName: gconf\n'
|
|
|
|
#exerciseBackendAPI('gconf', 'default')
|
|
|
|
#exerciseBackendAPI('default', 'gsettings', s)
|