Skip to main content

Module for managing Windows registry keys and values.

Project description

[!IMPORTANT] This project is under development. All source code and features on the main branch are for the purpose of testing or evaluation and not production ready.

MFD Win Registry

Module for managing Windows registry keys and values.

Usage

from mfd_connect import RPyCConnection
from mfd_win_registry import WindowsRegistry, PropertyType

conn = RPyCConnection(ip="10.10.10.10")
winreg_obj = WindowsRegistry(connection=conn)
winreg_obj.get_registry_path(
    path="hklm:\\system\\CurrentControlSet\\control\\class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0005"
)
winreg_obj.add_registry_key("SLOT 2 Port 1", "FecMode", "1")
winreg_obj.remove_registry_key("SLOT 2 Port 1", "FecMode")
winreg_obj.check_registry_key("SLOT 2 Port 1", "FecMode", "0")
winreg_obj.registry_exists(
    path="hklm:\\system\\CurrentControlSet\\control\\class\\{4D36E972-E325-11CE-BFC1-08002BE10318}"
)
winreg_obj.set_feature('SLOT 4 Port 2', "FecMode", "1")
winreg_obj.set_feature('SLOT 4 Port 2', "Version", "42", PropertyType.DWORD)
winreg_obj.remove_feature("SLOT 4 Port 2", "Version")
winreg_obj.get_feature_possible_values("SLOT 4 Port 2", "FecMode")
winreg_obj.get_registry_childitems(path="hklm:\\system\\CurrentControlSet\\control\\class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0005")
winreg_obj.check_proset_registry()
winreg_obj.remove_registry_subkeys(
    path="hklm:\\system\\CurrentControlSet\\control\\class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0005\\Ndi\\icea"
)
winreg_obj.get_rx_buffers("SLOT 4 Port 2")
winreg_obj.get_rx_buffers("SLOT 4 Port 2", BuffersAttribute.MIN)
winreg_obj.get_tx_buffers("SLOT 4 Port 2")
winreg_obj.get_tx_buffers("SLOT 4 Port 2", BuffersAttribute.MAX)
winreg_obj.get_feature_enum("SLOT 4 Port 2", "\*SpeedDuplex")
winreg_obj.get_feature_list("SLOT 4 Port 2")
winreg_obj.get_feature_list("SLOT 4 Port 2", False)

Implemented methods

  • Responsible for getting the all the contents in dictionary format for the path given by the user.

    get_registry_path(self, path: str, depth: int = 0) -> Dict
    
  • Responsible for getting the features for the given interface.

    get_feature_list(self, interface: str, cached: bool = True) -> Dict
    
  • Responsible for testing the given path exists or not.

    registry_exists(self, path: str) -> bool
    
  • Responsible for adding the register value for a given interface and feature.

    add_registry_key(self, interface: str, feature: str, value: str) -> None
    
  • Responsible for removing the register value for a given interface and feature.

    remove_registry_key(self, interface: str, feature: str) -> None
    
  • Responsible for checking whether the given register value is set on the feature or not.

    check_registry_key(self, interface: str, feature: str, value: str) -> None
    
  • Responsible for setting feature in registry based on user path or base path.

    set_feature(
        self,
        interface: str,
        feature: str,
        value: str,
        prop_type: PropertyType = PropertyType.NONE,
        base_path: str = None,
        new_prop_create: bool = True,
    ) -> None
    
  • Responsible for removing feature entry from registry.

    remove_feature(self, interface: str, feature: str, base_path: str = None) -> None
    
  • Responsible for getting all the feature supported values.

    get_feature_possible_values(self, interface: str, feature: str) -> List[int]
    
  • Responsible for getting all the child items from the path.

    get_registry_childitems(self, path: str, depth: int = 0) -> Dict[str, Dict[str, str]]
    
  • Responsible for checking if PROSET entries exist in registry.

    check_proset_registry(self) -> bool
    
  • Responsible for removing all registry sub-keys from given path.

    remove_registry_subkeys(self, path: str) -> None
    
  • Responsible for getting RX buffers value on the given interface.

    get_rx_buffers(self, interface: str, attr: BuffersAttribute = BuffersAttribute.NONE) -> int
    
  • Responsible for getting TX buffers value on the given interface.

    get_tx_buffers(self, interface: str, attr: BuffersAttribute = BuffersAttribute.NONE) -> int
    
  • Responsible for getting enum key values for the given feature.

    get_feature_enum(self, interface: str, feature: str) -> Union[Dict[str, str]]
    
  • Set itemproperty for the feature.

    set_itemproperty(self, path: str, name: str, value: str) -> None
    

OS supported:

  • WINDOWS

Issue reporting

If you encounter any bugs or have suggestions for improvements, you're welcome to contribute directly or open an issue here.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mfd_win_registry-1.17.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file mfd_win_registry-1.17.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mfd_win_registry-1.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2fdf51425dccb9cc005fececae65f78f65c5118903938582ae79f55d2e262541
MD5 6c343b13368dc7d3c0a22cda7c67ba3f
BLAKE2b-256 c47a7845aa5755b5b6f4f5a2f48119fb952b1cba87825e2c1233c1609152b64a

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