Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ueconfigparser-1.1.11.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ueconfigparser-1.1.11-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file ueconfigparser-1.1.11.tar.gz.

File metadata

  • Download URL: ueconfigparser-1.1.11.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.13

File hashes

Hashes for ueconfigparser-1.1.11.tar.gz
Algorithm Hash digest
SHA256 a06f2788c4b4901a3349dc6cf0f6f3b41c04a7d1cff4a94f76c0c5a3944c437b
MD5 fdf4a71fb64cbad09be065d914391656
BLAKE2b-256 c4ed3bfc1f61556a662ae82936c77e45b87f5f03e7b1d5fa1070d8daf6006a6d

See more details on using hashes here.

File details

Details for the file ueconfigparser-1.1.11-py3-none-any.whl.

File metadata

File hashes

Hashes for ueconfigparser-1.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f6f3c2bc6771a8e34e72163626da288e78075954561c47c49a16082259b11f5b
MD5 392563012dff8b71b31d9fcade976b47
BLAKE2b-256 7eeb0cfc85a9c16454fe5230a6b7afc37e8ec2fa3878f4911500949e3c6e6492

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page