23 from topologylistener
import config
24 from topologylistener
import exc
26 log = logging.getLogger(__name__)
30 graph = py2neo.Graph(
"bolt://{}:{}@{}:7687".
format(
31 os.environ.get(
'neo4juser')
or config.get(
'neo4j',
'user'),
32 os.environ.get(
'neo4jpass')
or config.get(
'neo4j',
'pass'),
33 os.environ.get(
'neo4jhost')
or config.get(
'neo4j',
'host')))
39 log.debug(
'NEO4J QUERY %s:\n%s\nparams:\n%s', marker, q, pprint.pformat(p))
45 for field, value
in props.items():
47 current = target[field]
49 update[field] = props[field]
51 if current != props[field]:
52 update[field] = props[field]
53 origin[field] = current
59 return db_object.identity
63 return format_fields(payload,
'SET ', field_prefix=field_prefix)
70 separator =
',\n' + (
' ' * len(prefix)) + field_prefix
71 fields = [
' = '.join(field)
for field
in payload]
72 return prefix + field_prefix + separator.join(fields)
77 for field, value
in payload.items():
81 value = py2neo.cypher_repr(value)
83 (py2neo.cypher_escape(field), value))
88 return py2neo.cypher_escape(identifier)
92 extra = result_set =
None 94 result_set = next(cursor)
97 if result_set
is None:
100 if extra
is not None:
116 except StopIteration:
def __init__(self, cursor, q, p)
def locate_changes(target, props)
def format_set_fields(payload, field_prefix='')
def format_fields(payload, prefix, field_prefix='')
def log_query(marker, q, p)
def escape_fields(payload, raw_values=False)