Skip to content

Example search in README uses a nonexistant key

Attempting a search similar to the one in the readme throws an exception, stating that soc is not a valid field.

(repro'd below with pdb)

(hackerboarddb) Skofnung% python3 -m pdb ../.venv/bin/hackerboards-bulk --select soc=="Rockchip Rk1808"
> /home/aaron/vcs/hackerboards-db/.venv/bin/hackerboards-bulk(3)<module>()
-> import re
(Pdb) c
Traceback (most recent call last):
  File "/usr/lib64/python3.13/pdb.py", line 2480, in main
    pdb._run(target)
    ~~~~~~~~^^^^^^^^
  File "/usr/lib64/python3.13/pdb.py", line 2220, in _run
    self.run(target.code)
    ~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/bdb.py", line 666, in run
    exec(cmd, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 1, in <module>
  File "/home/aaron/vcs/hackerboards-db/.venv/bin/hackerboards-bulk", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/home/aaron/vcs/hackerboards-db/hackerboards_utils/bulk.py", line 237, in main
    boards = load_dataset(args.root, args.select or [])
  File "/home/aaron/vcs/hackerboards-db/hackerboards_utils/bulk.py", line 191, in load_dataset
    raise ValueError(f"Unknown key {key}")
ValueError: Unknown key soc

listing

(Pdb) list
186             for requirement in select:
187
188                 key, op, value = RE_OPERATOR.split(requirement, maxsplit=1)
189
190                 if key not in raw:
191  ->                 raise ValueError(f"Unknown key {key}")
192
193                 if isinstance(raw[key], int):
194                     value = int(parse_number(value))
195                 elif isinstance(raw[key], float):
196                     value = parse_number(value)
(Pdb)

Raw does contain the key cpu_soc, which appears to be more likley.

(Pdb) raw['cpu_soc']
'Atmel SAMA5D2'

Suggest updating example in readme, or adding alias for ease of use and backwards compat (if that was the field name in the past).