Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`!Lookup` does not enrich on the fly

オープン
#15 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

@akx がすでに取り組んでいます。

2021年3月22日 から。

  • #45 @akx による — オープン

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
tooling

調査の方向性

まず emrichen/context.py の enrichment flow と emrichen/tags/lookup.py の lookup implementation を確認し、提供された YAML template を使って emrichen/main.py の emrichen entry point 経由で failure を再現してください。完了条件は、報告された KeyError を発生させずに、example が workie と no_workie を 5 として render することです。

索引モデルが issue の本文から書いたものです。

説明

bug

Template:

!Defaults
x:
  y: 5
z: !Var x
---
workie: !Lookup x.y
no_workie: !Lookup z.y

Expected output:

workie: 5
no_workie: 5

Actual output:

Traceback (most recent call last):
  File "/usr/local/bin/emrichen", line 11, in <module>
    load_entry_point('emrichen', 'console_scripts', 'emrichen')()
  File "/Users/sapaj1/Hobby/emrichen/emrichen/__main__.py", line 111, in main
    output = template.render(context, format=args.output_format)
  File "/Users/sapaj1/Hobby/emrichen/emrichen/template.py", line 22, in render
    enriched = self.enrich(context)
  File "/Users/sapaj1/Hobby/emrichen/emrichen/template.py", line 19, in enrich
    return context.enrich(self.template)
  File "/Users/sapaj1/Hobby/emrichen/emrichen/context.py", line 37, in enrich
    item = self.enrich(item)
  File "/Users/sapaj1/Hobby/emrichen/emrichen/context.py", line 30, in enrich
    val = self.enrich(val)
  File "/Users/sapaj1/Hobby/emrichen/emrichen/context.py", line 21, in enrich
    return self.enrich(value.enrich(self))
  File "/Users/sapaj1/Hobby/emrichen/emrichen/tags/lookup.py", line 19, in enrich
    raise KeyError(f'{self}: no matches for {self.data}')
KeyError: "Lookup('z.y'): no matches for z.y"
主要言語
Python
スター
110
フォーク
9
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

con2/emrichen のほかの issue

con2/emrichen の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。