|
1713 | 1713 | " def __contains__(self,b): return b in self.items\n", |
1714 | 1714 | " def __reversed__(self): return self._new(reversed(self.items))\n", |
1715 | 1715 | " def __invert__(self): return self._new(not i for i in self)\n", |
1716 | | - " def __repr__(self): return repr(self.items) if _is_array(self.items) else coll_repr(self)\n", |
| 1716 | + " def __repr__(self): return repr(self.items)\n", |
| 1717 | + " def _repr_pretty_(self, p, cycle): p.text(repr(self.items) if _is_array(self.items) else coll_repr(self))\n", |
1717 | 1718 | " def __mul__ (a,b): return a._new(a.items*b)\n", |
1718 | 1719 | " def __add__ (a,b): return a._new(a.items+_listify(b))\n", |
1719 | 1720 | " def __radd__(a,b): return a._new(b)+a\n", |
|
1964 | 1965 | { |
1965 | 1966 | "data": { |
1966 | 1967 | "text/plain": [ |
1967 | | - "[0, 9, 1]" |
| 1968 | + "[2, 0, 10]" |
1968 | 1969 | ] |
1969 | 1970 | }, |
1970 | 1971 | "execution_count": null, |
|
2232 | 2233 | { |
2233 | 2234 | "data": { |
2234 | 2235 | "text/markdown": [ |
2235 | | - "<h4 id=\"L.unique\" class=\"doc_header\"><code>L.unique</code><a href=\"__main__.py#L65\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2236 | + "<h4 id=\"L.unique\" class=\"doc_header\"><code>L.unique</code><a href=\"__main__.py#L66\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2236 | 2237 | "\n", |
2237 | 2238 | "> <code>L.unique</code>()\n", |
2238 | 2239 | "\n", |
|
2267 | 2268 | { |
2268 | 2269 | "data": { |
2269 | 2270 | "text/markdown": [ |
2270 | | - "<h4 id=\"L.val2idx\" class=\"doc_header\"><code>L.val2idx</code><a href=\"__main__.py#L68\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2271 | + "<h4 id=\"L.val2idx\" class=\"doc_header\"><code>L.val2idx</code><a href=\"__main__.py#L69\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2271 | 2272 | "\n", |
2272 | 2273 | "> <code>L.val2idx</code>()\n", |
2273 | 2274 | "\n", |
|
2302 | 2303 | { |
2303 | 2304 | "data": { |
2304 | 2305 | "text/markdown": [ |
2305 | | - "<h4 id=\"L.filter\" class=\"doc_header\"><code>L.filter</code><a href=\"__main__.py#L62\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2306 | + "<h4 id=\"L.filter\" class=\"doc_header\"><code>L.filter</code><a href=\"__main__.py#L63\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2306 | 2307 | "\n", |
2307 | 2308 | "> <code>L.filter</code>(**`f`**=*`noop`*, **`negate`**=*`False`*, **`gen`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2308 | 2309 | "\n", |
|
2358 | 2359 | { |
2359 | 2360 | "data": { |
2360 | 2361 | "text/markdown": [ |
2361 | | - "<h4 id=\"L.argwhere\" class=\"doc_header\"><code>L.argwhere</code><a href=\"__main__.py#L61\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2362 | + "<h4 id=\"L.argwhere\" class=\"doc_header\"><code>L.argwhere</code><a href=\"__main__.py#L62\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2362 | 2363 | "\n", |
2363 | 2364 | "> <code>L.argwhere</code>(**`f`**, **`negate`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2364 | 2365 | "\n", |
|
2393 | 2394 | { |
2394 | 2395 | "data": { |
2395 | 2396 | "text/markdown": [ |
2396 | | - "<h4 id=\"L.map\" class=\"doc_header\"><code>L.map</code><a href=\"__main__.py#L60\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2397 | + "<h4 id=\"L.map\" class=\"doc_header\"><code>L.map</code><a href=\"__main__.py#L61\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2397 | 2398 | "\n", |
2398 | 2399 | "> <code>L.map</code>(**`f`**, **\\*`args`**, **`gen`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2399 | 2400 | "\n", |
|
2477 | 2478 | { |
2478 | 2479 | "data": { |
2479 | 2480 | "text/markdown": [ |
2480 | | - "<h4 id=\"L.map_dict\" class=\"doc_header\"><code>L.map_dict</code><a href=\"__main__.py#L77\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2481 | + "<h4 id=\"L.map_dict\" class=\"doc_header\"><code>L.map_dict</code><a href=\"__main__.py#L78\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2481 | 2482 | "\n", |
2482 | 2483 | "> <code>L.map_dict</code>(**`f`**=*`noop`*, **\\*`args`**, **`gen`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2483 | 2484 | "\n", |
|
2513 | 2514 | { |
2514 | 2515 | "data": { |
2515 | 2516 | "text/markdown": [ |
2516 | | - "<h4 id=\"L.zip\" class=\"doc_header\"><code>L.zip</code><a href=\"__main__.py#L86\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2517 | + "<h4 id=\"L.zip\" class=\"doc_header\"><code>L.zip</code><a href=\"__main__.py#L87\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2517 | 2518 | "\n", |
2518 | 2519 | "> <code>L.zip</code>(**`cycled`**=*`False`*)\n", |
2519 | 2520 | "\n", |
|
2560 | 2561 | { |
2561 | 2562 | "data": { |
2562 | 2563 | "text/markdown": [ |
2563 | | - "<h4 id=\"L.map_zip\" class=\"doc_header\"><code>L.map_zip</code><a href=\"__main__.py#L88\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2564 | + "<h4 id=\"L.map_zip\" class=\"doc_header\"><code>L.map_zip</code><a href=\"__main__.py#L89\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2564 | 2565 | "\n", |
2565 | 2566 | "> <code>L.map_zip</code>(**`f`**, **\\*`args`**, **`cycled`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2566 | 2567 | "\n", |
|
2596 | 2597 | { |
2597 | 2598 | "data": { |
2598 | 2599 | "text/markdown": [ |
2599 | | - "<h4 id=\"L.zipwith\" class=\"doc_header\"><code>L.zipwith</code><a href=\"__main__.py#L87\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2600 | + "<h4 id=\"L.zipwith\" class=\"doc_header\"><code>L.zipwith</code><a href=\"__main__.py#L88\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2600 | 2601 | "\n", |
2601 | 2602 | "> <code>L.zipwith</code>(**\\*`rest`**, **`cycled`**=*`False`*)\n", |
2602 | 2603 | "\n", |
|
2633 | 2634 | { |
2634 | 2635 | "data": { |
2635 | 2636 | "text/markdown": [ |
2636 | | - "<h4 id=\"L.map_zipwith\" class=\"doc_header\"><code>L.map_zipwith</code><a href=\"__main__.py#L89\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2637 | + "<h4 id=\"L.map_zipwith\" class=\"doc_header\"><code>L.map_zipwith</code><a href=\"__main__.py#L90\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2637 | 2638 | "\n", |
2638 | 2639 | "> <code>L.map_zipwith</code>(**`f`**, **\\*`rest`**, **`cycled`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2639 | 2640 | "\n", |
|
2668 | 2669 | { |
2669 | 2670 | "data": { |
2670 | 2671 | "text/markdown": [ |
2671 | | - "<h4 id=\"L.itemgot\" class=\"doc_header\"><code>L.itemgot</code><a href=\"__main__.py#L69\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2672 | + "<h4 id=\"L.itemgot\" class=\"doc_header\"><code>L.itemgot</code><a href=\"__main__.py#L70\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2672 | 2673 | "\n", |
2673 | 2674 | "> <code>L.itemgot</code>(**\\*`idxs`**)\n", |
2674 | 2675 | "\n", |
|
2703 | 2704 | { |
2704 | 2705 | "data": { |
2705 | 2706 | "text/markdown": [ |
2706 | | - "<h4 id=\"L.attrgot\" class=\"doc_header\"><code>L.attrgot</code><a href=\"__main__.py#L74\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2707 | + "<h4 id=\"L.attrgot\" class=\"doc_header\"><code>L.attrgot</code><a href=\"__main__.py#L75\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2707 | 2708 | "\n", |
2708 | 2709 | "> <code>L.attrgot</code>(**`k`**, **`default`**=*`None`*)\n", |
2709 | 2710 | "\n", |
|
2779 | 2780 | { |
2780 | 2781 | "data": { |
2781 | 2782 | "text/markdown": [ |
2782 | | - "<h4 id=\"L.split\" class=\"doc_header\"><code>L.split</code><a href=\"__main__.py#L55\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2783 | + "<h4 id=\"L.split\" class=\"doc_header\"><code>L.split</code><a href=\"__main__.py#L56\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2783 | 2784 | "\n", |
2784 | 2785 | "> <code>L.split</code>(**`s`**, **`sep`**=*`None`*, **`maxsplit`**=*`-1`*)\n", |
2785 | 2786 | "\n", |
|
2814 | 2815 | { |
2815 | 2816 | "data": { |
2816 | 2817 | "text/markdown": [ |
2817 | | - "<h4 id=\"L.range\" class=\"doc_header\"><code>L.range</code><a href=\"__main__.py#L57\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2818 | + "<h4 id=\"L.range\" class=\"doc_header\"><code>L.range</code><a href=\"__main__.py#L58\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2818 | 2819 | "\n", |
2819 | 2820 | "> <code>L.range</code>(**`a`**, **`b`**=*`None`*, **`step`**=*`None`*)\n", |
2820 | 2821 | "\n", |
|
2850 | 2851 | { |
2851 | 2852 | "data": { |
2852 | 2853 | "text/markdown": [ |
2853 | | - "<h4 id=\"L.concat\" class=\"doc_header\"><code>L.concat</code><a href=\"__main__.py#L96\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2854 | + "<h4 id=\"L.concat\" class=\"doc_header\"><code>L.concat</code><a href=\"__main__.py#L97\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2854 | 2855 | "\n", |
2855 | 2856 | "> <code>L.concat</code>()\n", |
2856 | 2857 | "\n", |
|
2921 | 2922 | { |
2922 | 2923 | "data": { |
2923 | 2924 | "text/markdown": [ |
2924 | | - "<h4 id=\"L.map_filter\" class=\"doc_header\"><code>L.map_filter</code><a href=\"__main__.py#L78\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2925 | + "<h4 id=\"L.map_filter\" class=\"doc_header\"><code>L.map_filter</code><a href=\"__main__.py#L79\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2925 | 2926 | "\n", |
2926 | 2927 | "> <code>L.map_filter</code>(**`f`**=*`noop`*, **`g`**=*`noop`*, **\\*`args`**, **`gen`**=*`False`*, **\\*\\*`kwargs`**)\n", |
2927 | 2928 | "\n", |
|
2957 | 2958 | { |
2958 | 2959 | "data": { |
2959 | 2960 | "text/markdown": [ |
2960 | | - "<h4 id=\"L.map_first\" class=\"doc_header\"><code>L.map_first</code><a href=\"__main__.py#L82\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2961 | + "<h4 id=\"L.map_first\" class=\"doc_header\"><code>L.map_first</code><a href=\"__main__.py#L83\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2961 | 2962 | "\n", |
2962 | 2963 | "> <code>L.map_first</code>(**`f`**=*`noop`*, **`g`**=*`noop`*, **\\*`args`**, **\\*\\*`kwargs`**)\n", |
2963 | 2964 | "\n", |
|
2993 | 2994 | { |
2994 | 2995 | "data": { |
2995 | 2996 | "text/markdown": [ |
2996 | | - "<h4 id=\"L.setattrs\" class=\"doc_header\"><code>L.setattrs</code><a href=\"__main__.py#L100\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
| 2997 | + "<h4 id=\"L.setattrs\" class=\"doc_header\"><code>L.setattrs</code><a href=\"__main__.py#L101\" class=\"source_link\" style=\"float:right\">[source]</a></h4>\n", |
2997 | 2998 | "\n", |
2998 | 2999 | "> <code>L.setattrs</code>(**`attr`**, **`val`**)\n", |
2999 | 3000 | "\n", |
|
3114 | 3115 | " def __contains__(self,k): return k in self.d\n", |
3115 | 3116 | " def save(self): save_config_file(self.config_file,self.d)\n", |
3116 | 3117 | " def __getattr__(self,k): return stop(AttributeError(k)) if k=='d' or k not in self.d else self.get(k)\n", |
3117 | | - "\n", |
3118 | | - " def get(self,k,default=None):\n", |
3119 | | - " v = self.d.get(k, default)\n", |
3120 | | - " if v is None: return v\n", |
3121 | | - " return self.config_path/v if k.endswith('_path') else v" |
| 3118 | + " def get(self,k,default=None): return self.d.get(k, default)\n", |
| 3119 | + " def path(self,k,default=None):\n", |
| 3120 | + " v = self.get(k, default)\n", |
| 3121 | + " return v if v is None else self.config_path/v" |
3122 | 3122 | ] |
3123 | 3123 | }, |
3124 | 3124 | { |
|
3141 | 3141 | "\n", |
3142 | 3142 | "test_eq(cfg.user,'fastai')\n", |
3143 | 3143 | "test_eq(cfg.doc_baseurl,'/fastcore/')\n", |
3144 | | - "test_eq(cfg.get('some_path'), Path('../test').resolve())\n", |
| 3144 | + "test_eq(cfg.get('some_path'), 'test')\n", |
| 3145 | + "test_eq(cfg.path('some_path'), Path('../test').resolve())\n", |
3145 | 3146 | "test_eq(cfg.get('foo','bar'),'bar')" |
3146 | 3147 | ] |
3147 | 3148 | }, |
|
0 commit comments