Skip to content

Commit

Permalink
Rename ndServiceRegistry to nd_service_registry to conform with Googl…
Browse files Browse the repository at this point in the history
…e Python Guidelines.
  • Loading branch information
diranged committed Jan 2, 2013
1 parent ca72b3f commit 78a3faa
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 44 deletions.
18 changes: 9 additions & 9 deletions README.rst
@@ -1,8 +1,8 @@
=================
ndServiceRegistry
=================
===================
nd_service_registry
===================

*`ndServiceRegistry`* is a Python module that provides a simple way to leverage
*`nd_service_registry`* is a Python module that provides a simple way to leverage
*`Apache Zookeeper`* as a dynamic configuration and service registry.

The goal of the package is to provide a single foundational class that can be
Expand All @@ -28,7 +28,7 @@ To install, run ::

or ::

pip install ndServiceRegistry
pip install nd_service_registry

Instantiating a KazooServiceRegistry module
-------------------------------------------
Expand All @@ -43,10 +43,10 @@ Create a logger object::

To create your initial connection object::

>>> from ndServiceRegistry import KazooServiceRegistry
>>> from nd_service_registry import KazooServiceRegistry
>>> nd = KazooServiceRegistry()

The KazooServiceRegistry object is a child of ndServiceRegistry that conforms
The KazooServiceRegistry object is a child of nd_service_registry that conforms
to our ServiceRegistry specs, whlie leveraging Kazoo as the backend. The
object handles all of your connection states - there is no need to start/stop
or monitor the connection state at all.
Expand Down Expand Up @@ -83,7 +83,7 @@ can though, we instead just *return False* as a way of indicating that we were
unable to perform your command now ... but that we will take care of it later.
Whenever we do this, we throw a WARNING log message as well.

ndServiceRegistry.exceptions.NoConnection
nd_service_registry.exceptions.NoConnection
Thrown if you attempt any operation that requires immediate access to the
backend Zookeeper service. Either a *set()* operation, or a *get()*
operation on a path for the first time.
Expand All @@ -94,7 +94,7 @@ ndServiceRegistry.exceptions.NoConnection
if Zookeeper is down. This allows the service to fail temporarily in the
background but your app is still able to get the 'last known' results.)

ndServiceRegistry.exceptions.ReadOnly
nd_service_registry.exceptions.ReadOnly
If *readonly=True*, any operation that would result in a 'write' will throw
this exception. Most notably, a *set()* operation will fail with this
exception if *readonly=True*.
Expand Down
33 changes: 16 additions & 17 deletions ndServiceRegistry/__init__.py → nd_service_registry/__init__.py
Expand Up @@ -14,12 +14,12 @@

"""Simple service registration class for managing lists of servers.
The ndServiceRegistry model at Nextdoor is geared around simplicity and
The nd_service_registry model at Nextdoor is geared around simplicity and
reliability. This model provides a few core features that allow you to
register and unregister nodes that provide certain services, and to monitor
particular service paths for lists of nodes.
Although the service structure is up to you, the ndServiceRegistry model is
Although the service structure is up to you, the nd_service_registry model is
largely designed around this model:
/production
Expand All @@ -37,7 +37,7 @@
Example usage to provide the above service list:
>>> from ndServiceRegistry import KazooServiceRegistry
>>> from nd_service_registry import KazooServiceRegistry
>>> nd = KazooServiceRegistry()
>>> nd.set_node('/production/ssh/server1:22')
>>> nd.set_node('/production/ssh/server2:22')
Expand All @@ -61,7 +61,7 @@
aversion=0, ephemeralOwner=0, dataLength=0,
numChildren=3, pzxid=45)}
When you call get(), the ndServiceRegistry module goes out and creates a
When you call get(), the nd_service_registry module goes out and creates a
Watcher object for the path you provided. This object caches all of the state
data for the supplied path in a local dict. This dict is updated any time the
Zookeeper service sees a change to that path.
Expand Down Expand Up @@ -90,23 +90,23 @@

__author__ = 'matt@nextdoor.com (Matt Wise)'

# For ndServiceRegistry Class
# For nd_service_registry Class
import os
import logging
import exceptions
from os.path import split
from functools import wraps

# Our own classes
from ndServiceRegistry.registration import EphemeralNode
from ndServiceRegistry.watcher import Watcher
from ndServiceRegistry.watcher import DummyWatcher
from ndServiceRegistry import funcs
from ndServiceRegistry import exceptions
from nd_service_registry.registration import EphemeralNode
from nd_service_registry.watcher import Watcher
from nd_service_registry.watcher import DummyWatcher
from nd_service_registry import funcs
from nd_service_registry import exceptions

# For KazooServiceRegistry Class
import kazoo.security
from ndServiceRegistry.shims import ZookeeperClient
from nd_service_registry.shims import ZookeeperClient
from kazoo.client import KazooState

# Use Gevent as our threader (DOES NOT WORK RIGHT NOW)
Expand All @@ -125,7 +125,7 @@
SERVER = 'localhost:2181'


class ndServiceRegistry(object):
class nd_service_registry(object):
"""Main Service Registry object.
The ServiceRegistry object is a framework object, not meant to be
Expand Down Expand Up @@ -302,11 +302,11 @@ def _convert_dummywatchers_to_watchers(self):
self._watchers[path] = w


class KazooServiceRegistry(ndServiceRegistry):
class KazooServiceRegistry(nd_service_registry):

_instance = None
_initialized = False
LOGGER = 'ndServiceRegistry.KazooServiceRegistry'
LOGGER = 'nd_service_registry.KazooServiceRegistry'

def __new__(self, **kwargs):
"""Only creates a new object if one does not already exist."""
Expand Down Expand Up @@ -673,7 +673,7 @@ def get(self, path, callback=None):
changes.
Returns:
ndServiceRegistry.Watcher.get() dict object
nd_service_registry.Watcher.get() dict object
"""

# Return the object from our cache, if it's there
Expand Down Expand Up @@ -707,7 +707,6 @@ def get(self, path, callback=None):
'try again later: %s' % (path, e))
return False


@_health_check
def _get_watcher(self, path, callback=None):
"""Creates a Watcher object for the supplid path.
Expand All @@ -725,7 +724,7 @@ def _get_watcher(self, path, callback=None):
changes.
Returns:
ndServiceRegistry.Watcher object
nd_service_registry.Watcher object
"""

# Ok, so the cache is missing the key. Lets look for it in Zookeeper
Expand Down
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""Exceptions for ndServiceRegistry
"""Exceptions for nd_service_registry
Copyright 2012 Nextdoor Inc."""

Expand Down
4 changes: 2 additions & 2 deletions ndServiceRegistry/funcs.py → nd_service_registry/funcs.py
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""Commonly used functions for ndServiceRegistry
"""Commonly used functions for nd_service_registry
Copyright 2012 Nextdoor Inc."""

Expand All @@ -27,7 +27,7 @@
from functools import wraps

# logger name
LOGGER = 'ndServiceRegistry.funcs'
LOGGER = 'nd_service_registry.funcs'


def encode(data=None):
Expand Down
Expand Up @@ -56,8 +56,8 @@
import time
import sys

from ndServiceRegistry import funcs
from ndServiceRegistry.watcher import Watcher
from nd_service_registry import funcs
from nd_service_registry.watcher import Watcher

# For KazooServiceRegistry Class
import kazoo.exceptions
Expand All @@ -71,7 +71,7 @@
class Registration(object):
"""An object that registers a znode with ZooKeeper."""

LOGGING = 'ndServiceRegistry.Registration'
LOGGING = 'nd_service_registry.Registration'

def __init__(self, zk, path, data=None, state=True):
# Create our logger
Expand Down Expand Up @@ -242,7 +242,7 @@ class EphemeralNode(Registration):
The node registered with Zookeeper is ephemeral, so if we lose our
connection to the service, we have to re-register the data."""

LOGGING = 'ndServiceRegistry.Registration.EphemeralNode'
LOGGING = 'nd_service_registry.Registration.EphemeralNode'

def __init__(self, zk, path, data, state=True):
"""Sets the ZooKeeper registration up to be ephemeral.
Expand Down
4 changes: 2 additions & 2 deletions ndServiceRegistry/shims.py → nd_service_registry/shims.py
Expand Up @@ -12,15 +12,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""ndServiceRegistry Zookeeper Client Library
"""nd_service_registry Zookeeper Client Library
Copyright 2012 Nextdoor Inc."""

__author__ = 'matt@nextdoor.com (Matt Wise)'

import logging
from kazoo.client import KazooClient
from ndServiceRegistry.funcs import rate_limiter
from nd_service_registry.funcs import rate_limiter

# Our default variables
from version import __version__ as VERSION
Expand Down
Expand Up @@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.

__version__ = '0.1.1' # http://semver.org/
__version__ = '0.2.0' # http://semver.org/
Expand Up @@ -24,7 +24,7 @@
import sys
from os.path import split

from ndServiceRegistry import funcs
from nd_service_registry import funcs

# For KazooServiceRegistry Class
import kazoo.exceptions
Expand Down Expand Up @@ -59,7 +59,7 @@ class Watcher(object):
}
"""

LOGGING = 'ndServiceRegistry.Watcher'
LOGGING = 'nd_service_registry.Watcher'

def __init__(self, zk, path, callback=None, watch_children=True):
# Create our logger
Expand Down Expand Up @@ -194,7 +194,7 @@ class DummyWatcher(Watcher):
want to be able to return valid data.
"""

LOGGING = 'ndServiceRegistry.DummyWatcher'
LOGGING = 'nd_service_registry.DummyWatcher'

def __init__(self, path, data, callback=None):
# Create our logger
Expand Down
10 changes: 5 additions & 5 deletions setup.py
Expand Up @@ -20,7 +20,7 @@
from distutils.command.sdist import sdist
from setuptools import setup

PACKAGE = 'ndServiceRegistry'
PACKAGE = 'nd_service_registry'
__version__ = None
execfile(os.path.join(PACKAGE, 'version.py')) # set __version__

Expand All @@ -46,19 +46,19 @@ def maybe_rm(path):
if os.path.exists(path):
shutil.rmtree(path)
if self.all:
maybe_rm('ndServiceRegistry.egg-info')
maybe_rm('nd_service_registry.egg-info')
maybe_rm('dist')


setup(
name='ndServiceRegistry',
name='nd_service_registry',
version=__version__,
description='Nextdoor ServiceRegistry module for interacting with Apache Zookeeper.',
long_description=open('README.rst').read(),
author='Matt Wise',
author_email='matt@nextdoor.com',
url='https://github.com/Nextdoor/ndServiceRegistry',
download_url='http://pypi.python.org/pypi/ndServiceRegistry#downloads',
url='https://github.com/Nextdoor/ndserviceregistry',
download_url='http://pypi.python.org/pypi/nd_service_registry#downloads',
license='Apache License, Version 2.0',
keywords='zookeeper apache zk',
packages=[PACKAGE],
Expand Down

0 comments on commit 78a3faa

Please sign in to comment.