Could someone help me spot what’s going wrong here...
# singer-tap-development
h
Could someone help me spot what’s going wrong here in terms of formatting the
catalog.json
in this discover method? https://github.com/hotgluexyz/tap-airtable/blob/master/tap_airtable/services/__init__.py#L41 For context, this is a fork of a pre-existing Airtable tap that I’m trying to fix up. Right now, the output looks like below – which does not follow Singer standard format (specifically, the metadata entry should be an array):
Copy code
{
  "streams": [
    {
      "table_name": "ContactLists",
      "stream": "ContactLists",
      "metadata": {
        "selected": false,
        "name": "ContactLists",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ],
            "key": true
          },
          "parentId": {
            "type": [
              "null",
              "string"
            ]
          },
...
e
base
is a dictionary and you're passing it to the constructor of
CatalogEntry
but that doesn't validate its inputs so when it does
to_dict
, it just uses that dict. Try making it an array instead:
Copy code
base = [{"selected": args.config['selected_by_default'],
         "name": table_name,
         "properties": columns}]
h
@edgar_ramirez_mondragon Seems like it is missing the
breadcrumbs
entry as well