'A new L{Server}.
@param store: The back-end where my associations are stored.
@type store: L{openid.store.interface.OpenIDStore}
@param op_endpoint: My URL, the fully qualified address of this
server\'s endpoint, i.e. C{http://example.com/server}
@type op_endpoint: str
@change: C{op_endpoint} is new in library version 2.0.  It
currently defaults to C{None} for compatibility with
earlier versions of the library, but you must provide it
if you want to respond to any version 2 OpenID requests.'

def __init__(self, store, op_endpoint=None):

    self.store = store
    self.signatory = self.signatoryClass(self.store)
    self.encoder = self.encoderClass(self.signatory)
    self.decoder = self.decoderClass(self)
    self.negotiator = default_negotiator.copy()
    if (not op_endpoint):
        warnings.warn(('%s.%s    constructor    requires    op_endpoint    parameter    for    OpenID    2.0    servers' % (self.__class__.__module__, self.__class__.__name__)), stacklevel=2)
    self.op_endpoint = op_endpoint
