From 0ed4f5456e7beaa9d3853da06820904e3f9d27bc Mon Sep 17 00:00:00 2001 From: Luke Van Seters Date: Mon, 3 Jan 2022 15:20:00 -0500 Subject: [PATCH] Move list util to db shared --- mev_inspect/crud/traces.py | 13 +++---------- mev_inspect/db.py | 21 ++++++++++++++------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/mev_inspect/crud/traces.py b/mev_inspect/crud/traces.py index 6fe9004..6fe3435 100644 --- a/mev_inspect/crud/traces.py +++ b/mev_inspect/crud/traces.py @@ -1,8 +1,8 @@ import json from datetime import datetime, timezone -from typing import Any, List +from typing import List -from mev_inspect.db import write_as_csv +from mev_inspect.db import to_postgres_list, write_as_csv from mev_inspect.models.traces import ClassifiedTraceModel from mev_inspect.schemas.traces import ClassifiedTrace @@ -47,7 +47,7 @@ def write_classified_traces( trace.value, trace.gas_used, trace.error, - _to_csv_list(trace.trace_address), + to_postgres_list(trace.trace_address), trace.transaction_position, ) for trace in classified_traces @@ -58,10 +58,3 @@ def write_classified_traces( def _inputs_as_json(trace) -> str: return json.dumps(json.loads(trace.json(include={"inputs"}))["inputs"]) - - -def _to_csv_list(values: List[Any]) -> str: - if len(values) == 0: - return "{}" - - return "{" + ",".join(map(str, values)) + "}" diff --git a/mev_inspect/db.py b/mev_inspect/db.py index 8e4d57a..dd7c66a 100644 --- a/mev_inspect/db.py +++ b/mev_inspect/db.py @@ -1,5 +1,5 @@ import os -from typing import Any, Iterable, Optional +from typing import Any, Iterable, List, Optional from sqlalchemy import create_engine, orm from sqlalchemy.orm import sessionmaker @@ -67,12 +67,6 @@ def get_trace_session() -> Optional[orm.Session]: return None -def _clean_csv_value(value: Optional[Any]) -> str: - if value is None: - return r"\N" - return str(value).replace("\n", "\\n") - - def write_as_csv( db_session, table_name: str, @@ -84,3 +78,16 @@ def write_as_csv( with db_session.connection().connection.cursor() as cursor: cursor.copy_from(csv_iterator, table_name, sep="|") + + +def _clean_csv_value(value: Optional[Any]) -> str: + if value is None: + return r"\N" + return str(value).replace("\n", "\\n") + + +def to_postgres_list(values: List[Any]) -> str: + if len(values) == 0: + return "{}" + + return "{" + ",".join(map(str, values)) + "}"