You've already forked uutils.github.io
mirror of
https://github.com/uutils/uutils.github.io.git
synced 2026-06-10 16:12:28 -07:00
deploy: c249eba195
This commit is contained in:
+50
-14
@@ -794,6 +794,24 @@
|
||||
<span id="789">789</span>
|
||||
<span id="790">790</span>
|
||||
<span id="791">791</span>
|
||||
<span id="792">792</span>
|
||||
<span id="793">793</span>
|
||||
<span id="794">794</span>
|
||||
<span id="795">795</span>
|
||||
<span id="796">796</span>
|
||||
<span id="797">797</span>
|
||||
<span id="798">798</span>
|
||||
<span id="799">799</span>
|
||||
<span id="800">800</span>
|
||||
<span id="801">801</span>
|
||||
<span id="802">802</span>
|
||||
<span id="803">803</span>
|
||||
<span id="804">804</span>
|
||||
<span id="805">805</span>
|
||||
<span id="806">806</span>
|
||||
<span id="807">807</span>
|
||||
<span id="808">808</span>
|
||||
<span id="809">809</span>
|
||||
</pre><pre class="rust"><code><span class="comment">// * This file is part of the uutils coreutils package.</span>
|
||||
<span class="comment">// *</span>
|
||||
<span class="comment">// * For the full copyright and license information, please view the LICENSE</span>
|
||||
@@ -1000,12 +1018,18 @@
|
||||
<span class="comment">// numbers. We could split the options up into those groups to</span>
|
||||
<span class="comment">// reduce the coupling between this `table.rs` module and the main</span>
|
||||
<span class="comment">// `df.rs` module.</span>
|
||||
<span class="doccomment">/// Whether to use the special rules for displaying the total row.</span>
|
||||
<span class="ident">is_total_row</span>: <span class="ident">bool</span>,
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span><span class="op">></span> <span class="ident">RowFormatter</span><span class="op"><</span><span class="lifetime">'a</span><span class="op">></span> {
|
||||
<span class="doccomment">/// Instantiate this struct.</span>
|
||||
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">row</span>: <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">Row</span>, <span class="ident">options</span>: <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">Options</span>) -> <span class="self">Self</span> {
|
||||
<span class="self">Self</span> { <span class="ident">row</span>, <span class="ident">options</span> }
|
||||
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">row</span>: <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">Row</span>, <span class="ident">options</span>: <span class="kw-2">&</span><span class="lifetime">'a</span> <span class="ident">Options</span>, <span class="ident">is_total_row</span>: <span class="ident">bool</span>) -> <span class="self">Self</span> {
|
||||
<span class="self">Self</span> {
|
||||
<span class="ident">row</span>,
|
||||
<span class="ident">options</span>,
|
||||
<span class="ident">is_total_row</span>,
|
||||
}
|
||||
}
|
||||
|
||||
<span class="doccomment">/// Get a string giving the scaled version of the input number.</span>
|
||||
@@ -1047,13 +1071,25 @@
|
||||
|
||||
<span class="kw">for</span> <span class="ident">column</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">options</span>.<span class="ident">columns</span> {
|
||||
<span class="kw">let</span> <span class="ident">string</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">column</span> {
|
||||
<span class="ident">Column::Source</span> => <span class="self">self</span>.<span class="ident">row</span>.<span class="ident">fs_device</span>.<span class="ident">to_string</span>(),
|
||||
<span class="ident">Column::Source</span> => {
|
||||
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">is_total_row</span> {
|
||||
<span class="string">"total"</span>.<span class="ident">to_string</span>()
|
||||
} <span class="kw">else</span> {
|
||||
<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">fs_device</span>.<span class="ident">to_string</span>()
|
||||
}
|
||||
}
|
||||
<span class="ident">Column::Size</span> => <span class="self">self</span>.<span class="ident">scaled_bytes</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">bytes</span>),
|
||||
<span class="ident">Column::Used</span> => <span class="self">self</span>.<span class="ident">scaled_bytes</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">bytes_used</span>),
|
||||
<span class="ident">Column::Avail</span> => <span class="self">self</span>.<span class="ident">scaled_bytes</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">bytes_avail</span>),
|
||||
<span class="ident">Column::Pcent</span> => <span class="ident"><span class="self">Self</span>::percentage</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">bytes_usage</span>),
|
||||
|
||||
<span class="ident">Column::Target</span> => <span class="self">self</span>.<span class="ident">row</span>.<span class="ident">fs_mount</span>.<span class="ident">to_string</span>(),
|
||||
<span class="ident">Column::Target</span> => {
|
||||
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">is_total_row</span> <span class="op">&&</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">options</span>.<span class="ident">columns</span>.<span class="ident">contains</span>(<span class="kw-2">&</span><span class="ident">Column::Source</span>) {
|
||||
<span class="string">"total"</span>.<span class="ident">to_string</span>()
|
||||
} <span class="kw">else</span> {
|
||||
<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">fs_mount</span>.<span class="ident">to_string</span>()
|
||||
}
|
||||
}
|
||||
<span class="ident">Column::Itotal</span> => <span class="self">self</span>.<span class="ident">scaled_inodes</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">inodes</span>),
|
||||
<span class="ident">Column::Iused</span> => <span class="self">self</span>.<span class="ident">scaled_inodes</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">inodes_used</span>),
|
||||
<span class="ident">Column::Iavail</span> => <span class="self">self</span>.<span class="ident">scaled_inodes</span>(<span class="self">self</span>.<span class="ident">row</span>.<span class="ident">inodes_free</span>),
|
||||
@@ -1167,7 +1203,7 @@
|
||||
<span class="comment">// the output table.</span>
|
||||
<span class="kw">if</span> <span class="ident">options</span>.<span class="ident">show_all_fs</span> <span class="op">|</span><span class="op">|</span> <span class="ident">filesystem</span>.<span class="ident">usage</span>.<span class="ident">blocks</span> <span class="op">></span> <span class="number">0</span> {
|
||||
<span class="kw">let</span> <span class="ident">row</span> <span class="op">=</span> <span class="ident">Row::from</span>(<span class="ident">filesystem</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="kw">let</span> <span class="ident">values</span> <span class="op">=</span> <span class="ident">fmt</span>.<span class="ident">get_values</span>();
|
||||
<span class="ident">total</span> <span class="op">+</span><span class="op">=</span> <span class="ident">row</span>;
|
||||
|
||||
@@ -1182,7 +1218,7 @@
|
||||
}
|
||||
|
||||
<span class="kw">if</span> <span class="ident">options</span>.<span class="ident">show_total</span> {
|
||||
<span class="kw">let</span> <span class="ident">total_row</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">total</span>, <span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">total_row</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">total</span>, <span class="ident">options</span>, <span class="bool-val">true</span>);
|
||||
<span class="ident">rows</span>.<span class="ident">push</span>(<span class="ident">total_row</span>.<span class="ident">get_values</span>());
|
||||
}
|
||||
|
||||
@@ -1421,7 +1457,7 @@
|
||||
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(
|
||||
<span class="ident">fmt</span>.<span class="ident">get_values</span>(),
|
||||
<span class="macro">vec!</span>(<span class="string">"my_device"</span>, <span class="string">"100"</span>, <span class="string">"25"</span>, <span class="string">"75"</span>, <span class="string">"25%"</span>, <span class="string">"my_mount"</span>)
|
||||
@@ -1447,7 +1483,7 @@
|
||||
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(
|
||||
<span class="ident">fmt</span>.<span class="ident">get_values</span>(),
|
||||
<span class="macro">vec!</span>(<span class="string">"my_device"</span>, <span class="string">"my_type"</span>, <span class="string">"100"</span>, <span class="string">"25"</span>, <span class="string">"75"</span>, <span class="string">"25%"</span>, <span class="string">"my_mount"</span>)
|
||||
@@ -1472,7 +1508,7 @@
|
||||
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(
|
||||
<span class="ident">fmt</span>.<span class="ident">get_values</span>(),
|
||||
<span class="macro">vec!</span>(<span class="string">"my_device"</span>, <span class="string">"10"</span>, <span class="string">"2"</span>, <span class="string">"8"</span>, <span class="string">"20%"</span>, <span class="string">"my_mount"</span>)
|
||||
@@ -1491,7 +1527,7 @@
|
||||
<span class="ident">inodes</span>: <span class="number">10</span>,
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(<span class="ident">fmt</span>.<span class="ident">get_values</span>(), <span class="macro">vec!</span>(<span class="string">"1"</span>, <span class="string">"10"</span>));
|
||||
}
|
||||
|
||||
@@ -1514,7 +1550,7 @@
|
||||
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(
|
||||
<span class="ident">fmt</span>.<span class="ident">get_values</span>(),
|
||||
<span class="macro">vec!</span>(<span class="string">"my_device"</span>, <span class="string">"my_type"</span>, <span class="string">"4k"</span>, <span class="string">"1k"</span>, <span class="string">"3k"</span>, <span class="string">"25%"</span>, <span class="string">"my_mount"</span>)
|
||||
@@ -1540,7 +1576,7 @@
|
||||
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(
|
||||
<span class="ident">fmt</span>.<span class="ident">get_values</span>(),
|
||||
<span class="macro">vec!</span>(<span class="string">"my_device"</span>, <span class="string">"my_type"</span>, <span class="string">"4K"</span>, <span class="string">"1K"</span>, <span class="string">"3K"</span>, <span class="string">"25%"</span>, <span class="string">"my_mount"</span>)
|
||||
@@ -1557,7 +1593,7 @@
|
||||
<span class="ident">bytes_usage</span>: <span class="prelude-val">Some</span>(<span class="number">0.251</span>),
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>);
|
||||
<span class="kw">let</span> <span class="ident">fmt</span> <span class="op">=</span> <span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>);
|
||||
<span class="macro">assert_eq!</span>(<span class="ident">fmt</span>.<span class="ident">get_values</span>(), <span class="macro">vec!</span>(<span class="string">"26%"</span>));
|
||||
}
|
||||
|
||||
@@ -1576,7 +1612,7 @@
|
||||
<span class="ident">bytes_avail</span>,
|
||||
..<span class="ident">Default::default</span>()
|
||||
};
|
||||
<span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>).<span class="ident">get_values</span>()
|
||||
<span class="ident">RowFormatter::new</span>(<span class="kw-2">&</span><span class="ident">row</span>, <span class="kw-2">&</span><span class="ident">options</span>, <span class="bool-val">false</span>).<span class="ident">get_values</span>()
|
||||
}
|
||||
|
||||
<span class="macro">assert_eq!</span>(<span class="ident">get_formatted_values</span>(<span class="number">100</span>, <span class="number">100</span>, <span class="number">0</span>), <span class="macro">vec!</span>(<span class="string">"1"</span>, <span class="string">"1"</span>, <span class="string">"0"</span>));
|
||||
|
||||
Reference in New Issue
Block a user