google / google/python-fire

Accessing Available Indexes

未關閉
#257 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
28.2k
分支
1.5k
PR 合併指標
30 天內沒有已合併 PR

描述

I have a project [pyattck](https://github.com/swimlane/pyattck) that is utilizing fire for it's command line interface and I am returning a list of objects.

For example, when using pyattck you can access all techniques from the Enterprise MITRE ATT&CK Framework like so:

```python
from pyattck import Attck

attack = Attck()

for technique in attack.enterprise.techniques:
print(technique.id)
print(technique.name)
# etc.
```

When using fire, I can access the same data using:

```
pyattck enterprise techniques 4 id
pyattck enterprise techniques 4 name
# etc.
```

My question is, how can I specify a range or to print out ALL technique `id` or `name` or `etc` properties using fire?

Ideally I would want to access the `INDEXES` range by either specifying the range of `0..265` or having a `foreach` clause.

Is this possible or is there another way of handling this?

Here is an example of calling it without specifying the range number of `1` or `4` or `164` etc.

```
josh.rickard@Joshs-MacBook-Pro ~ % pyattck enterprise techniques name
ERROR: Unable to index into component with argument: name
Usage: pyattck enterprise techniques
available commands: append | clear | copy | count | extend | index |
insert | pop | remove | reverse | sort
available indexes: 0..265

For detailed information on this command, run:
pyattck enterprise techniques --help
```

tldr: How do you access the indexes or how do you properly deal with indexes in fire?

貢獻指南

開啟貢獻指南

研究方向

首先重現 `pyattck enterprise techniques name` 命令,並將其與 `pyattck enterprise techniques 4 name` 等帶索引的呼叫進行比較。閱讀 CLI 說明輸出,並確定是否支援範圍存取或 foreach 存取;記錄支援的行為,或定義所需的變更及其完成標準。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
cli
Issue 類型
功能
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
需要釐清
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。