Lines Matching full:extra
38 def from_raw(cls, raw, **extra): argument
40 if extra:
42 raise NotImplementedError((raw, extra))
43 #return cls(raw.item, raw.typedecl, **raw._extra, **extra)
47 return cls(raw, **extra)
49 raise NotImplementedError((raw, extra))
52 def from_resolved(cls, item, resolved, **extra): argument
54 return cls(item, typedecl=resolved, **extra)
56 typedeps, extra = cls._parse_raw_resolved(item, resolved, extra)
59 raise NotImplementedError((item, resolved, extra))
61 raise NotImplementedError((item, resolved, extra))
62 return cls(item, typedeps, **extra or {})
69 typedeps, extra = resolved
71 typedeps = extra = None
72 if extra:
74 extra = dict(extra_extra, **extra)
76 return typedeps, extra
79 return UNKNOWN, extra
82 return typedeps, extra
84 raise NotImplementedError((item, typedeps, extra))
85 return typedeps, extra
87 def __init__(self, item, typedecl=None, **extra): argument
107 self._extra = extra
114 extra = self._extra
118 # Check extra.
119 for key, value in extra.items():
121 raise ValueError(f'extra items starting with {"_"!r} not allowed, got {extra!r}')
123 raise ValueError(f'extra cannot override item, got {value!r} for key {key!r}')
172 # The item takes precedence over the extra data (except if callable).
244 extra = self._render_extra(fmt)
245 if not extra:
249 extra, = extra
250 yield f'{rendered}\t{extra}'
255 for line in extra:
272 def build_item(cls, info, resolved=None, **extra): argument
274 return cls._item_class.from_raw(info, **extra)
276 return cls._item_class.from_resolved(info, resolved, **extra)