ConfigParser (in text) created for read/edit/write Unreal Engine Config files
Project description
UnrealConfigParser Utility
This project provides a Python-based utility for handling configuration files in Unreal Engine workflows or other INI-style configurations. It offers a range of features to read, write, and modify configuration files programmatically.
Features
- Read and Write Configuration Files: Seamlessly read and write configuration data.
- Section and Key Management: Add, remove, and modify keys in specific sections.
- Value Matching and Replacement: Modify values based on substrings or specific criteria.
- Comment/Uncomment Keys: Enable or disable keys in configuration files.
Installation
pip install ueconfigparser
Ensure you have Python 2.7 or later installed.
Usage
Here are some examples of how to use the utility.
Example 1: Reading Configuration Files
from ueconfigparser import UnrealConfigParser
# Initialize the parser
parser = UnrealConfigParser()
# Read a configuration file
parser.read('config.ini')
# Display contents
parser.display()
Example 2: Writing to Configuration Files
from ueconfigparser import UnrealConfigParser
# Initialize the parser
parser = UnrealConfigParser()
# Read and modify the configuration file
parser.read('config.ini')
parser.add_key('General', 'NewKey', 'NewValue')
# Write changes to a new file
parser.write('updated_config.ini')
Example 3: Modifying a Key Value
from ueconfigparser import UnrealConfigParser
# Initialize the parser
parser = UnrealConfigParser()
# Read the configuration file
parser.read('config.ini')
# set a key's value
parser.set('General', 'ExistingKey', 'UpdatedValue')
# Save the changes
parser.write('updated_config.ini')
Example 4: Commenting and Uncommenting Keys
from ueconfigparser import UnrealConfigParser
# Initialize the parser
parser = UnrealConfigParser()
# Read the configuration file
parser.read('config.ini')
# Comment a key
parser.comment_key('General', 'KeyToDisable')
# Uncomment a key
parser.uncomment_key('General', 'KeyToEnable')
# Save the changes
parser.write('updated_config.ini')
Example 5: Replace Substring in a Section
from ueconfigparser import UnrealConfigParser
# Initialize the parser
parser = UnrealConfigParser()
# Read the configuration file
parser.read('config.ini')
# Replace a substring in a section
parser.replace_substring_in_section('General', 'OldSubstring', 'NewSubstring')
# Save the changes
parser.write('updated_config.ini')
API Reference
UnrealConfigParser
Methods:
-
read(file_path: str)- Reads a configuration file.
- Parameters:
file_path- Path to the file to read.
-
write(output_path: str, newline_option=None)- Writes the modified configuration to a file.
- Parameters:
output_path- Path to save the file.newline_option- Newline character to use (default:None).
-
add_key(section: str, key: str, value: str)- Adds a new key-value pair to a section.
-
remove_key(section: str, key: str)- Removes a key from a section.
-
set(section: str, key: str, new_value: str, spacing=False)- Modifies the value of a key in a section.
-
comment_key(section: str, key: str)- Disables a key by commenting it out.
-
uncomment_key(section: str, key: str)- Enables a key by uncommenting it.
-
set_value_by_string_serach_in_section(section: str, match_substring: str, new_value: str)- Updates any key's value in a section if it matches a substring.
-
set_value_by_string_search_in_value(section: str, key: str, match_substring: str, new_value: str)- Updates a key's value if it matches a specific substring.
-
replace_value_by_string_search_in_value(section: str, key: str, match_substring: str, new_substring: str)- Replaces a substring in the value of a specific key.
-
replace_value_by_string_search_in_section(section: str, match_substring: str, new_substring: str)- Replaces substrings in the values of all keys within a section.
-
comment_key_by_string_search_in_value(section: str, key: str, match_substring: str)- Comments out a key if its value matches a specific substring.
-
uncomment_key_by_string_search_in_value(section: str, key: str, match_substring: str)- Uncomments a key if its value matches a specific substring.
-
comment_key_by_string_search_in_section(section: str, match_substring: str)- Comments out keys in a section if their values match a substring.
-
uncomment_key_by_section_search(section: str, match_substring: str)- Uncomments keys in a section if their values match a substring.
-
display()- Prints the current configuration to the console.
Author
This project was created by WooJin Kim.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions
Contributions are welcome! Please submit issues or pull requests to improve functionality or documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ueconfigparser-1.1.7.tar.gz.
File metadata
- Download URL: ueconfigparser-1.1.7.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
658a699add8ad0cb5ed95fe191cc0cb5186b95818d05133ad10ce4d270c3b786
|
|
| MD5 |
fae1d9d846aa4b65c59398482e67400e
|
|
| BLAKE2b-256 |
443a83a946868ee20074aa0821e2b407b365d4b9b4a72a59589cd92ccc078341
|
File details
Details for the file ueconfigparser-1.1.7-py3-none-any.whl.
File metadata
- Download URL: ueconfigparser-1.1.7-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0663e5c8e88d695f6b9b321d1123c3c4a1059c86aa05040d5cf87745a9db05d9
|
|
| MD5 |
11104b57ce85485b877acd6a4fea6da8
|
|
| BLAKE2b-256 |
aa1bc94248e8ec180f31ac11bb29efaa0658adc8c4d30bd4a2ca1a7cb1b5d801
|