Package ClusterShell :: Module NodeSet :: Class ParsingEngine
[hide private]
[frames] | no frames]

Class ParsingEngine

source code


Class that is able to transform a source into a NodeSetBase.

Instance Methods [hide private]
 
__init__(self, group_resolver)
Initialize Parsing Engine.
source code
 
parse(self, nsobj, autostep)
Parse provided object if possible and return a NodeSetBase object.
source code
 
parse_string(self, nsstr, autostep, namespace=None)
Parse provided string in optional namespace.
source code
 
parse_string_single(self, nsstr, autostep)
Parse provided string and return a NodeSetBase object.
source code
 
parse_group(self, group, namespace=None, autostep=None)
Parse provided single group name (without @ prefix).
source code
 
parse_group_string(self, nodegroup, namespace=None)
Parse provided raw nodegroup string in optional namespace.
source code
 
grouplist(self, namespace=None)
Return a sorted list of groups from current resolver (in optional group source / namespace).
source code
 
all_nodes(self, namespace=None)
Get all nodes from group resolver as a list of strings.
source code
 
_next_op(self, pat)
Opcode parsing subroutine.
source code
 
_scan_string_single(self, nsstr, autostep)
Single node scan, returns (pat, list of rangesets)
source code
 
_scan_string(self, nsstr, autostep)
Parsing engine's string scanner method (iterator).
source code
 
_amend_leading_digits(self, outer, inner)
Helper to get rid of leading bracket digits.
source code
 
_amend_trailing_digits(self, outer, inner)
Helper to get rid of trailing bracket digits.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  OP_CODES = {'difference_update': '!', 'intersection_update': '...
  BRACKET_OPEN = '['
  BRACKET_CLOSE = ']'
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, group_resolver)
(Constructor)

source code 

Initialize Parsing Engine.

Overrides: object.__init__

parse_string(self, nsstr, autostep, namespace=None)

source code 

Parse provided string in optional namespace.

This method parses string, resolves all node groups, and computes set operations.

Return a NodeSetBase object.

parse_group_string(self, nodegroup, namespace=None)

source code 

Parse provided raw nodegroup string in optional namespace.

Warning: 1 pass only, may still return groups.

Return a tuple (grp_resolved_string, namespace).

_amend_leading_digits(self, outer, inner)

source code 

Helper to get rid of leading bracket digits.

Take a bracket outer prefix string and an inner range set string and return amended strings.

_amend_trailing_digits(self, outer, inner)

source code 

Helper to get rid of trailing bracket digits.

Take a bracket outer suffix string and an inner range set string and return amended strings.


Class Variable Details [hide private]

OP_CODES

Value:
{'difference_update': '!',
 'intersection_update': '&',
 'symmetric_difference_update': '^',
 'update': ','}