Table Of Contents

Previous topic

FSFile

Next topic

FileCtrl

This Page

phoenix_title FileConfig

FileConfig implements ConfigBase interface for storing and retrieving configuration information using plain text files.

The files have a simple format reminiscent of Windows INI files with lines of the form "key = value" defining the keys and lines of special form "[group]" indicating the start of each group.

This class is used by default for Config on Unix platforms but may also be used explicitly if you want to use files and not the registry even under Windows.

See also

FileConfig.Save


class_hierarchy Inheritance Diagram

Inheritance diagram for class FileConfig

Inheritance diagram of FileConfig


method_summary Methods Summary

__init__ Constructor allowing to choose the file names to use.
DeleteAll Delete the whole underlying object (disk file, registry key, .
DeleteEntry Deletes the specified entry and the group it belongs to if it was the last key in it and the second parameter is True.
DeleteGroup Delete the group (with all subgroups).
Flush Permanently writes all changes (otherwise, they’re only written from object’s destructor).
GetFirstEntry Gets the first entry.
GetFirstGroup Gets the first group.
GetGlobalFileName  
GetLocalFileName  
GetNextEntry Gets the next entry.
GetNextGroup Gets the next group.
GetNumberOfEntries Get number of entries in the current group.
GetNumberOfGroups Get number of entries/subgroups in the current group, with or without its subgroups.
GetPath Retrieve the current path (always as absolute path).
HasEntry  
HasGroup  
RenameEntry Renames an entry in the current group.
RenameGroup Renames a subgroup of the current group.
SetPath Set current path: if the first character is ‘/’, it is the absolute path, otherwise it is a relative path.
SetUmask Allows to set the mode to be used for the config file creation.

api Class API



class FileConfig(ConfigBase)

FileConfig implements ConfigBase interface for storing and retrieving configuration information using plain text files.

Possible constructors:

FileConfig(appName='', vendorName='',
           localFilename='', globalFilename='',
           style=CONFIG_USE_LOCAL_FILE|CONFIG_USE_GLOBAL_FILE)

Methods



__init__(self, *args, **kw)

Constructor allowing to choose the file names to use.

If localFilename and/or globalFilename are explicitly specified, they are used as the names of the user and system-wide configuration files (the latter is only read by the program while the former is read from and written to). Otherwise the behaviour depends on style parameter. If it includes CONFIG_USE_LOCAL_FILE, then the local file name is constructed from the information in appName and vendorName arguments in a system-dependent way. If CONFIG_USE_GLOBAL_FILE is not specified at all (and globalFilename is empty) then the system-wide file is not used at all. Otherwise its name and path are also constructed in the way appropriate for the current platform from the application and vendor names.



DeleteAll(self)

Delete the whole underlying object (disk file, registry key, .

..). Primarily for use by uninstallation routine.

Return type:bool


DeleteEntry(self, key, bDeleteGroupIfEmpty=True)

Deletes the specified entry and the group it belongs to if it was the last key in it and the second parameter is True.

Parameters:
  • key (string) –
  • bDeleteGroupIfEmpty (bool) –
Return type:

bool



DeleteGroup(self, key)

Delete the group (with all subgroups).

If the current path is under the group being deleted it is changed to its deepest still existing component. E.g. if the current path is "/A/B/C/D" and the group C is deleted, the path becomes "/A/B" .

Parameters:key (string) –
Return type:bool


Flush(self, bCurrentOnly=False)

Permanently writes all changes (otherwise, they’re only written from object’s destructor).

Parameters:bCurrentOnly (bool) –
Return type:bool


GetFirstEntry(self, str, index)

Gets the first entry.

Parameters:
  • str (string) –
  • index (long) –
Return type:

bool



GetFirstGroup(self, str, index)

Gets the first group.

Parameters:
  • str (string) –
  • index (long) –
Return type:

bool



static GetGlobalFileName(szFile)
Parameters:szFile (string) –
Return type:string


static GetLocalFileName(szFile, style=0)
Parameters:
  • szFile (string) –
  • style (int) –
Return type:

string



GetNextEntry(self, str, index)

Gets the next entry.

Parameters:
  • str (string) –
  • index (long) –
Return type:

bool



GetNextGroup(self, str, index)

Gets the next group.

Parameters:
  • str (string) –
  • index (long) –
Return type:

bool



GetNumberOfEntries(self, bRecursive=False)

Get number of entries in the current group.

Parameters:bRecursive (bool) –
Return type:int


GetNumberOfGroups(self, bRecursive=False)

Get number of entries/subgroups in the current group, with or without its subgroups.

Parameters:bRecursive (bool) –
Return type:int


GetPath(self)

Retrieve the current path (always as absolute path).

Return type:string


HasEntry(self, strName)
Parameters:strName (string) –
Return type:bool
Returns:True if the entry by this name exists.


HasGroup(self, strName)
Parameters:strName (string) –
Return type:bool
Returns:True if the group by this name exists.


RenameEntry(self, oldName, newName)

Renames an entry in the current group.

The entries names (both the old and the new one) shouldn’t contain backslashes, i.e. only simple names and not arbitrary paths are accepted by this function.

Parameters:
  • oldName (string) –
  • newName (string) –
Return type:

bool

Returns:

False if oldName doesn’t exist or if newName already exists.



RenameGroup(self, oldName, newName)

Renames a subgroup of the current group.

The subgroup names (both the old and the new one) shouldn’t contain backslashes, i.e. only simple names and not arbitrary paths are accepted by this function.

Parameters:
  • oldName (string) –
  • newName (string) –
Return type:

bool

Returns:

False if oldName doesn’t exist or if newName already exists.



SetPath(self, strPath)

Set current path: if the first character is ‘/’, it is the absolute path, otherwise it is a relative path.

‘..’ is supported. If strPath doesn’t exist, it is created.

Parameters:strPath (string) –


SetUmask(self, mode)

Allows to set the mode to be used for the config file creation.

For example, to create a config file which is not readable by other users (useful if it stores some sensitive information, such as passwords), you could use SetUmask(0077) .

This function doesn’t do anything on non-Unix platforms.

Parameters:mode (int) –

See also

CHANGE_UMASK


Properties



NumberOfEntries

See GetNumberOfEntries



NumberOfGroups

See GetNumberOfGroups



Path

See GetPath and SetPath