Source code for gremlinclient.graph
import socket
import sys
import textwrap
from gremlinclient.connection import Connection, Session
from gremlinclient.response import Response
PY_33 = sys.version_info >= (3, 3)
PY_35 = sys.version_info >= (3, 5)
[docs]class GraphDatabase(object):
"""This class generates connections to the Gremlin Server.
:param str url: url for Gremlin Server.
:param float timeout: timeout for establishing connection (optional).
Values ``0`` or ``None`` mean no timeout
:param str username: Username for SASL auth
:param str password: Password for SASL auth
:param loop: If param is ``None``, `tornado.ioloop.IOLoop.current`
is used for getting default event loop (optional)
:param bool validate_cert: validate ssl certificate. False by default
:param class future_class: type of Future -
:py:class:`asyncio.Future`, :py:class:`trollius.Future`, or
:py:class:`tornado.concurrent.Future`
"""
def __init__(self, url, timeout=None, username="",
password="", loop=None, validate_cert=False,
future_class=None, session_class=Session):
self._url = url
self._timeout = timeout
self._username = username
self._password = password
self._loop = loop
self._validate_cert = validate_cert
# Hmmm
self._future_class = future_class
self._session_class = session_class
@property
def future_class(self):
return self._future_class
[docs] def connect(self,
session=None,
force_close=False,
force_release=False,
pool=None):
"""
Get a connection to the graph database.
:param str session: Session id (optional). Typically a uuid
:param bool force_close: force connection to close after read.
:param bool force_release: If possible, force release to pool after
read.
:param gremlinclient.pool.Pool pool: Associated connection pool.
:returns: :py:class:`gremlinclient.connection.Connection`
"""
return self._connect(
Connection, session, force_close, force_release, pool)
[docs] def session(self,
connector=None,
session=None,
force_close=False,
force_release=False,
pool=None):
"""
Get a session connection to the graph database.
:param str session: Session id (optional). Typically a uuid
:param bool force_close: force connection to close after read.
:param bool force_release: If possible, force release to pool after
read.
:param gremlinclient.pool.Pool pool: Associated connection pool.
:returns: :py:class:`gremlinclient.connection.Session`
"""
return self._connect(
Session, session, force_close, force_release, pool)
def _connect(self,
conn_type,
session,
force_close,
force_release,
pool):
raise NotImplementedError