Created on 20.08.2010 @author: luk ''' from zkpy.utils import enum import base64 import hashlib import logging # Possible ACL permission constants AclPermission = enum( Read = 1, # zookeeper.PERM_READ Write = 2, # zookeeper.PERM_WRITE Create = 4, # zookeeper.PERM_CREATE Delete = 8, # zookeeper.PERM_DELETE Admin = 16, # zookeeper.PERM_ADMIN All = 31 # zookeeper.PERM_ALL ) # Possible? Id schemes IdSchema = enum( Digest = 'digest',# Ip = 'ip',# Auth = 'auth',# World = 'world')# class Id(object): '''Represents a Zookeeper id. Modeled after org.apache.zookeeper.data.Id
self.connection = None def __enter__(self): self.connection = Connection(self.servers, self.timeout) return self.connection def __exit__(self, type, value, traceback): if self.connection: self.connection.close() self.connection = None # Event types EventType = enum( NotWatchingAnymore = -2, # zookeeper.NOTWATCHING_EVENT NoneType = -1, # zookeeper.SESSION_EVENT NodeCreated = 1, # zookeeper.CREATED_EVENT NodeDeleted = 2, # zookeeper.DELETED_EVENT NodeDataChanged = 3, # zookeeper.CHANGED_EVENT NodeChildrenChanged = 4) # zookeeper.CHILD_EVENT # Connection states/events KeeperState = enum( Disconnected = 0, # not a watcher event, but is returned for state() if disconnected Connecting = 1, # zookeeper.CONNECTING_STATE Associating = 2, # zookeeper.ASSOCIATING_STATE Connected = 3, # zookeeper.CONNECTED_STATE AuthFailed = -113, # zookeeper.Auth_FAILED_STATE Expired = -112) # zookeeper.EXPIRED_SESSION_STATE # Node creation modes NodeCreationMode = enum(
from zkpy import zk_retry_operation from zkpy.connection import EventType, NodeCreationMode, KeeperState from zkpy.utils import enum import logging import zookeeper GroupEvents = enum( ObserverError = -1, MemberJoined = 1, MemberLeft = 2, MemberChanged = 3 ) logging.warn('zkpy.group IS NOT MEANT TO BE USED RIGHT NOW!') class Group(object): ''' WIP. NOT useable at the moment. Multiple entries per host Host registers with hostname and port path: Path for the service group, needs to exists ''' logger = logging.getLogger('zkpy.group.Group') def __init__(self, connection, path, observer = None): self.zk_conn = connection self.path = path