Skip to content

Not all articles have a pillarName #4

@OpenBagTwo

Description

@OpenBagTwo

Had two runs over the past few weeks fail with the traceback:

Traceback (most recent call last):
  File "/home/runner/work/MarketWatch/MarketWatch/post_generator.py", line 297, in <module>
    generate_post(os.environ["GUARDIAN_API_KEY"], date)
  File "/home/runner/work/MarketWatch/MarketWatch/post_generator.py", line 265, in generate_post
    article = get_random_article(guardian_api_key, date)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MarketWatch/MarketWatch/post_generator.py", line 196, in get_random_article
    "tags": [article["pillarName"]],
             ~~~~~~~^^^^^^^^^^^^^^
KeyError: 'pillarName'

The obvious solution would be to replace

"tags": [article["pillarName"]],

with:

    "tags" :  [article["pillarName"]] if "pillarName" in article else [],

but the concern is that if this field is ever legitimately renamed, then no articles will have tags from then on.

I suggest looking into which articles don't have pillarNames—it's quite possible that they're not something I want to be pulling in the first place (in which case get_random_article should be rerun).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomershelp wantedExtra attention is neededquestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions