Merge pull request #765 from bugout-dev/fix-metadata-crawler

Fix metadata crawler
pull/766/head mooncrawl/v0.2.8
Andrey Dolgolev 2023-03-08 22:27:13 +02:00 zatwierdzone przez GitHub
commit b85939595c
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 18 dodań i 9 usunięć

Wyświetl plik

@ -4,6 +4,7 @@ from typing import Dict, Any, Optional, List
from moonstreamdb.blockchain import AvailableBlockchainType, get_label_model from moonstreamdb.blockchain import AvailableBlockchainType, get_label_model
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from sqlalchemy.sql import text
from ..data import TokenURIs from ..data import TokenURIs
from ..settings import VIEW_STATE_CRAWLER_LABEL, METADATA_CRAWLER_LABEL, CRAWLER_LABEL from ..settings import VIEW_STATE_CRAWLER_LABEL, METADATA_CRAWLER_LABEL, CRAWLER_LABEL
@ -70,7 +71,8 @@ def get_uris_of_tokens(
table = label_model.__tablename__ table = label_model.__tablename__
metadata_for_parsing = db_session.execute( metadata_for_parsing = db_session.execute(
""" SELECT text(
""" SELECT
DISTINCT ON(label_data -> 'inputs'-> 0 ) label_data -> 'inputs'-> 0 as token_id, DISTINCT ON(label_data -> 'inputs'-> 0 ) label_data -> 'inputs'-> 0 as token_id,
label_data -> 'result' as token_uri, label_data -> 'result' as token_uri,
block_number as block_number, block_number as block_number,
@ -86,7 +88,8 @@ def get_uris_of_tokens(
label_data -> 'inputs'-> 0 ASC, label_data -> 'inputs'-> 0 ASC,
block_number :: INT DESC; block_number :: INT DESC;
""".format( """.format(
table table
)
), ),
{"table": table, "label": VIEW_STATE_CRAWLER_LABEL, "name": "tokenURI"}, {"table": table, "label": VIEW_STATE_CRAWLER_LABEL, "name": "tokenURI"},
) )
@ -118,7 +121,8 @@ def get_current_metadata_for_address(
table = label_model.__tablename__ table = label_model.__tablename__
current_metadata = db_session.execute( current_metadata = db_session.execute(
""" SELECT text(
""" SELECT
DISTINCT ON(label_data ->> 'token_id') label_data ->> 'token_id' as token_id DISTINCT ON(label_data ->> 'token_id') label_data ->> 'token_id' as token_id
FROM FROM
{} {}
@ -129,7 +133,8 @@ def get_current_metadata_for_address(
label_data ->> 'token_id' ASC, label_data ->> 'token_id' ASC,
block_number :: INT DESC; block_number :: INT DESC;
""".format( """.format(
table table
)
), ),
{"address": address, "label": METADATA_CRAWLER_LABEL}, {"address": address, "label": METADATA_CRAWLER_LABEL},
) )
@ -159,7 +164,8 @@ def get_tokens_id_wich_may_updated(
table = label_model.__tablename__ table = label_model.__tablename__
tokens = db_session.execute( tokens = db_session.execute(
""" text(
"""
with token_id_latest_events as ( with token_id_latest_events as (
SELECT SELECT
DISTINCT ON ( DISTINCT ON (
@ -207,7 +213,8 @@ def get_tokens_id_wich_may_updated(
WHERE WHERE
token_id_latest_events.block_timestamp > metadata_state.block_timestamp token_id_latest_events.block_timestamp > metadata_state.block_timestamp
""".format( """.format(
table, table table, table
)
), ),
{ {
"address": address, "address": address,
@ -234,7 +241,8 @@ def clean_labels_from_db(
table = label_model.__tablename__ table = label_model.__tablename__
db_session.execute( db_session.execute(
""" text(
"""
WITH lates_token_metadata AS ( WITH lates_token_metadata AS (
SELECT SELECT
DISTINCT ON (label_data->>'token_id') label_data->>'token_id' AS token_id, DISTINCT ON (label_data->>'token_id') label_data->>'token_id' AS token_id,
@ -256,7 +264,8 @@ def clean_labels_from_db(
AND address=:address AND address=:address
AND {}.id not in (select id from lates_token_metadata) RETURNING {}.block_number; AND {}.id not in (select id from lates_token_metadata) RETURNING {}.block_number;
""".format( """.format(
table, table, table, table table, table, table, table
)
), ),
{"address": address, "label": METADATA_CRAWLER_LABEL}, {"address": address, "label": METADATA_CRAWLER_LABEL},
) )

Wyświetl plik

@ -2,4 +2,4 @@
Moonstream crawlers version. Moonstream crawlers version.
""" """
MOONCRAWL_VERSION = "0.2.7" MOONCRAWL_VERSION = "0.2.8"