pyregfi.HiveIterator Class Reference

A special purpose iterator for registry hives. More...

## Public Member Functions

def | down (self, subkey_name=None)
| Descends the iterator to a subkey. More...
def | up (self)
| Causes the iterator to ascend to the current Key's parent. More...
def | first_subkey (self)
| Selects first subkey of current key. More...
def | first_value (self)
| Selects first value of current Key. More...
def | next_subkey (self)
| Selects the next subkey in the current Key's list. More...
def | next_value (self)
| Selects the next value in the current Key's list. More...
def | find_subkey (self, name)
| Selects the first subkey which has the specified name. More...
def | find_value (self, name)
| Selects the first value which has the specified name. More...
def | current_subkey (self)
| Retrieves the currently selected subkey. More...
def | current_value (self)
| Retrieves the currently selected value. More...
def | current_key (self)
| Retrieves the current key. More...
def | descend (self, path)
| Traverse downward multiple levels. More...
def | ancestry (self)
| Obtains a list of the current key's ancestry. More...
def | current_path (self)
| Obtains the current path of the iterator. More...

## Detailed Description

A special purpose iterator for registry hives.

Iterating over an object of this type causes all keys in a specific hive subtree to be returned in a depth-first manner. These iterators are typically created using the Hive.subtree() function on a Hive object.

HiveIterators can also be used to manually traverse up and down a registry hive as they retain information about the current position in the hive, along with which iteration state for subkeys and values for every parent key. See the up and down methods for more information.

## Member Function Documentation

## down()

def pyregfi.HiveIterator.down | ( |  | self,
|  |  | subkey_name = `None`
| ) |  |

Descends the iterator to a subkey.

Descends the iterator one level to the current subkey, or a subkey specified by name.

Parameters

  subkey_name | If specified, locates specified subkey by name (via find_subkey()) and descends to it.

Returns
  True if successful, False otherwise

References pyregfi.HiveIterator._iter, and pyregfi.HiveIterator._lock.

## up()

def pyregfi.HiveIterator.up | ( |  | self | ) |

Causes the iterator to ascend to the current Key's parent.

Returns
  True if successful, False otherwise

Note
  The state of current subkeys and values at this level in the tree is lost as a side effect. That is, if you go up() and then back down() again, current_subkey() and current_value() will return default selections.

References pyregfi.HiveIterator._iter, and pyregfi.HiveIterator._lock.

## first_subkey()

def pyregfi.HiveIterator.first_subkey | ( |  | self | ) |

Selects first subkey of current key.

Returns
  A Key instance for the first subkey. None on error or if the current key has no subkeys.

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.HiveIterator.current_subkey().

## first_value()

def pyregfi.HiveIterator.first_value | ( |  | self | ) |

Selects first value of current Key.

Returns
  A Value instance for the first value. None on error or if the current key has no values.

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.HiveIterator.current_value().

## next_subkey()

def pyregfi.HiveIterator.next_subkey | ( |  | self | ) |

Selects the next subkey in the current Key's list.

Returns
  A Key instance for the next subkey. None if there are no remaining subkeys or an error occurred.

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.HiveIterator.current_subkey().

## next_value()

def pyregfi.HiveIterator.next_value | ( |  | self | ) |

Selects the next value in the current Key's list.

Returns
  A Value instance for the next value. None if there are no remaining values or an error occurred.

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.HiveIterator.current_value().

## find_subkey()

def pyregfi.HiveIterator.find_subkey | ( |  | self,
|  |  | name
| ) |  |

Selects the first subkey which has the specified name.

Returns
  A Key instance for the selected key. None if it could not be located or an error occurred.

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.HiveIterator.current_subkey().

## find_value()

def pyregfi.HiveIterator.find_value | ( |  | self,
|  |  | name
| ) |  |

Selects the first value which has the specified name.

Returns
  A Value instance for the selected value. None if it could not be located or an error occurred.

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.HiveIterator.current_value().

## current_subkey()

def pyregfi.HiveIterator.current_subkey | ( |  | self | ) |

Retrieves the currently selected subkey.

Returns
  A Key instance of the current subkey

References pyregfi._StructureWrapper._hive, pyregfi._GenericList._hive, pyregfi.HiveIterator._hive, pyregfi.HiveIterator._iter, and pyregfi.HiveIterator._lock.

Referenced by pyregfi.HiveIterator.find_subkey(), pyregfi.HiveIterator.first_subkey(), and pyregfi.HiveIterator.next_subkey().

## current_value()

def pyregfi.HiveIterator.current_value | ( |  | self | ) |

Retrieves the currently selected value.

Returns
  A Value instance of the current value

References pyregfi._StructureWrapper._hive, pyregfi._GenericList._hive, pyregfi.HiveIterator._hive, pyregfi.HiveIterator._iter, and pyregfi.HiveIterator._lock.

Referenced by pyregfi.HiveIterator.find_value(), pyregfi.HiveIterator.first_value(), and pyregfi.HiveIterator.next_value().

## current_key()

def pyregfi.HiveIterator.current_key | ( |  | self | ) |

Retrieves the current key.

Returns
  A Key instance of the current position of the iterator

References pyregfi._StructureWrapper._hive, pyregfi._GenericList._hive, pyregfi.HiveIterator._hive, pyregfi.HiveIterator._iter, and pyregfi.HiveIterator._lock.

## descend()

def pyregfi.HiveIterator.descend | ( |  | self,
|  |  | path
| ) |  |

Traverse downward multiple levels.

This is more efficient than calling down() multiple times

Parameters

  path | A list of Key names which represent the path to descend

Exceptions

  Exception | If path could not be located

References pyregfi.HiveIterator._iter, pyregfi.HiveIterator._lock, and pyregfi.getLogMessages().

## ancestry()

def pyregfi.HiveIterator.ancestry | ( |  | self | ) |

Obtains a list of the current key's ancestry.

Returns
  A list of all parent keys starting with the root Key and ending with the current Key

References pyregfi._StructureWrapper._hive, pyregfi._GenericList._hive, pyregfi.HiveIterator._hive, pyregfi.HiveIterator._iter, and pyregfi.HiveIterator._lock.

Referenced by pyregfi.HiveIterator.current_path().

## current_path()

def pyregfi.HiveIterator.current_path | ( |  | self | ) |

Obtains the current path of the iterator.

Returns
  A list of key names starting with the root up to and including the current key

References pyregfi.HiveIterator.ancestry().

The documentation for this class was generated from the following file:

- __init__.py