OpenBagTwo / OpenBagTwo/MarketWatch

Not all articles have a pillarName

Open
#4 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug good first issue help wanted question
Dominant language
Jupyter Notebook
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

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 https://github.com/OpenBagTwo/MarketWatch/blob/9ff71afe656fdee5b829652634f6496695ca258b/post_generator.py#L196

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).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in post_generator.py at get_random_article and the line 196 pillarName lookup; inspect the Guardian API article data to identify which responses omit the field. Done means the article-selection or tag-handling decision is implemented so generation no longer fails on those responses.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.