feat: add ColumnType as_str method and improve error handling
This commit is contained in:
@@ -59,6 +59,22 @@ pub enum ColumnType {
|
|||||||
Meta,
|
Meta,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl ColumnType {
|
||||||
|
/// Returns the human-readable string representation of the column type
|
||||||
|
pub fn as_str(&self) -> &str {
|
||||||
|
match self {
|
||||||
|
ColumnType::Id => "id",
|
||||||
|
ColumnType::Time => "time",
|
||||||
|
ColumnType::Size => "size",
|
||||||
|
ColumnType::Compression => "compression",
|
||||||
|
ColumnType::FileSize => "filesize",
|
||||||
|
ColumnType::FilePath => "filepath",
|
||||||
|
ColumnType::Tags => "tags",
|
||||||
|
ColumnType::Meta => "meta",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_format_box_chars_no_border_line_separator() -> TableFormat {
|
pub fn get_format_box_chars_no_border_line_separator() -> TableFormat {
|
||||||
prettytable::format::FormatBuilder::new()
|
prettytable::format::FormatBuilder::new()
|
||||||
.column_separator('│')
|
.column_separator('│')
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ pub fn mode_list(
|
|||||||
for column in list_format.clone() {
|
for column in list_format.clone() {
|
||||||
let mut column_format = column.split(":").into_iter();
|
let mut column_format = column.split(":").into_iter();
|
||||||
let column_name = column_format.next().expect("Unable to parse column name");
|
let column_name = column_format.next().expect("Unable to parse column name");
|
||||||
let column_type = ColumnType::from_str(column_name)
|
let column_type = ColumnType::from_str(column_name).map_err(|_| {
|
||||||
.expect(format!("Unknown column {:?}", column_name).as_str());
|
anyhow!("Unknown column {:?}", column_name)
|
||||||
|
})?;
|
||||||
|
|
||||||
if column_type == ColumnType::Meta {
|
if column_type == ColumnType::Meta {
|
||||||
let meta_name = column_format
|
let meta_name = column_format
|
||||||
|
|||||||
Reference in New Issue
Block a user