Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre

Notices

Reply
 
Thread Tools Search this Thread
Old 07-23-2014, 10:17 AM   #1
BookJunkieLI
Evangelist
BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.
 
BookJunkieLI's Avatar
 
Posts: 435
Karma: 572984
Join Date: Jan 2010
Location: Long Island
Device: Kobo Libra 2, Kindle 4, Nook Gl4, Nook STR, REB 1100, Ebookwise 1500,
View list of custom column settings?

Before I possibly reinvent the wheel or take the really scenic route, is there a way to view the custom columns I have in my library and their settings in a list format outside of Calibre?

I know I can create a csv catalog that will give me all the column headings but it doesn't tell me if a column is yes/no; text, shown in tag browser; text, like tags, shown in tag browser; etcetera.

I need to revamp my custom columns across two libraries before I work on merging them into a single new library and was hoping there was an easy way to view them, like in a spread sheet, before I start messing around with things and possibly making more work than necessary for myself.

Thanks.
BookJunkieLI is offline   Reply With Quote
Old 07-23-2014, 04:08 PM   #2
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 11,742
Karma: 6997045
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
No, nothing like that is in calibre. However, if you are willing to use an SQLite explorer of some kind, you can get the information from the "custom_columns" table or from the field metadata row of the preferences table.

THe custom_columns table is more concise but you need some way to save the data in the table.

The field_metadata table is complete and easier to save, but it has a lot of info that you probably don't want to see such as the standard columns.

For example, on my test database the field metadata row contains:

Spoiler:
Code:
{
  "rating": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "rating"
    ], 
    "is_multiple": {}, 
    "table": "ratings", 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Rating", 
    "datatype": "rating", 
    "rec_index": 5, 
    "link_column": "rating", 
    "label": "rating", 
    "column": "rating", 
    "category_sort": "rating", 
    "display": {}
  }, 
  "author_sort": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "author_sort"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Author Sort", 
    "datatype": "text", 
    "rec_index": 12, 
    "label": "author_sort", 
    "column": null, 
    "display": {}
  }, 
  "#myint2": {
    "is_category": false, 
    "colnum": 1, 
    "kind": "field", 
    "is_custom": true, 
    "name": "myint2", 
    "column": "value", 
    "rec_index": 34, 
    "search_terms": [
      "#myint2"
    ], 
    "link_column": "value", 
    "label": "myint2", 
    "is_multiple": {}, 
    "datatype": "int", 
    "category_sort": "value", 
    "table": "custom_column_1", 
    "is_editable": true, 
    "display": {
      "number_format": "${0:04d}"
    }, 
    "is_csp": false
  }, 
  "pubdate": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "pubdate"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Published", 
    "datatype": "datetime", 
    "rec_index": 15, 
    "label": "pubdate", 
    "column": null, 
    "display": {
      "date_format": "dd MMM yyyy"
    }
  }, 
  "series": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "series"
    ], 
    "is_multiple": {}, 
    "table": "series", 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Series", 
    "datatype": "series", 
    "rec_index": 8, 
    "link_column": "series", 
    "label": "series", 
    "column": "name", 
    "category_sort": "(title_sort(name))", 
    "display": {}
  }, 
  "#comp3": {
    "is_category": false, 
    "colnum": 23, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comp3", 
    "column": "value", 
    "rec_index": 28, 
    "search_terms": [
      "#comp3"
    ], 
    "link_column": "value", 
    "label": "comp3", 
    "is_multiple": {}, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_23", 
    "is_editable": true, 
    "display": {
      "contains_html": false, 
      "composite_template": "{author_sort} {series:| - |}", 
      "make_category": false, 
      "use_decorations": 2, 
      "composite_sort": "bool"
    }, 
    "is_csp": false
  }, 
  "marked": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "marked"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": null, 
    "datatype": "text", 
    "rec_index": 51, 
    "label": "marked", 
    "column": null, 
    "display": {}
  }, 
  "#genre": {
    "is_category": true, 
    "colnum": 3, 
    "kind": "field", 
    "is_custom": true, 
    "name": "Genre", 
    "column": "value", 
    "rec_index": 42, 
    "search_terms": [
      "#genre"
    ], 
    "link_column": "value", 
    "label": "genre", 
    "is_multiple": {
      "cache_to_list": "|", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "datatype": "text", 
    "category_sort": "value", 
    "table": "custom_column_3", 
    "is_editable": true, 
    "display": {
      "is_names": false, 
      "use_decorations": 0
    }, 
    "is_csp": false
  }, 
  "#pbook": {
    "is_category": false, 
    "colnum": 36, 
    "kind": "field", 
    "is_custom": true, 
    "name": "PBook", 
    "column": "value", 
    "rec_index": 33, 
    "search_terms": [
      "#pbook"
    ], 
    "link_column": "value", 
    "label": "pbook", 
    "is_multiple": {}, 
    "datatype": "bool", 
    "category_sort": "value", 
    "table": "custom_column_36", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "#mydate": {
    "is_category": false, 
    "colnum": 11, 
    "kind": "field", 
    "is_custom": true, 
    "name": "mydate", 
    "column": "value", 
    "rec_index": 35, 
    "search_terms": [
      "#mydate"
    ], 
    "link_column": "value", 
    "label": "mydate", 
    "is_multiple": {}, 
    "datatype": "datetime", 
    "category_sort": "value", 
    "table": "custom_column_11", 
    "is_editable": true, 
    "display": {
      "date_format": "yyyy-MM-dd"
    }, 
    "is_csp": false
  }, 
  "#myint": {
    "is_category": false, 
    "colnum": 4, 
    "kind": "field", 
    "is_custom": true, 
    "name": "myint", 
    "column": "value", 
    "rec_index": 49, 
    "search_terms": [
      "#myint"
    ], 
    "link_column": "value", 
    "label": "myint", 
    "is_multiple": {}, 
    "datatype": "int", 
    "category_sort": "value", 
    "table": "custom_column_4", 
    "is_editable": true, 
    "display": {
      "number_template": "${0:>5d}", 
      "number_format": null
    }, 
    "is_csp": false
  }, 
  "path": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Path", 
    "datatype": "text", 
    "rec_index": 14, 
    "label": "path", 
    "column": null, 
    "display": {}
  }, 
  "#isbn": {
    "is_category": false, 
    "colnum": 5, 
    "kind": "field", 
    "is_custom": true, 
    "name": "ISBN", 
    "column": "value", 
    "rec_index": 23, 
    "search_terms": [
      "#isbn"
    ], 
    "link_column": "value", 
    "label": "isbn", 
    "is_multiple": {}, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_5", 
    "is_editable": true, 
    "display": {
      "composite_template": "{identifiers:select(isbn)}"
    }, 
    "is_csp": false
  }, 
  "au_map": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [], 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": null, 
      "ui_to_list": null
    }, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": null, 
    "datatype": "text", 
    "rec_index": 18, 
    "label": "au_map", 
    "column": null, 
    "display": {}
  }, 
  "id": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "id"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": null, 
    "datatype": "int", 
    "rec_index": 0, 
    "label": "id", 
    "column": null, 
    "display": {}
  }, 
  "size": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "size"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Size", 
    "datatype": "float", 
    "rec_index": 4, 
    "label": "size", 
    "column": null, 
    "display": {}
  }, 
  "#comment3": {
    "is_category": false, 
    "colnum": 7, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comment3", 
    "column": "value", 
    "rec_index": 47, 
    "search_terms": [
      "#comment3"
    ], 
    "link_column": "value", 
    "label": "comment3", 
    "is_multiple": {}, 
    "datatype": "comments", 
    "category_sort": "value", 
    "table": "custom_column_7", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "#comment2": {
    "is_category": false, 
    "colnum": 8, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comment2", 
    "column": "value", 
    "rec_index": 48, 
    "search_terms": [
      "#comment2"
    ], 
    "link_column": "value", 
    "label": "comment2", 
    "is_multiple": {}, 
    "datatype": "comments", 
    "category_sort": "value", 
    "table": "custom_column_8", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "#composite": {
    "is_category": false, 
    "colnum": 9, 
    "kind": "field", 
    "is_custom": true, 
    "name": "composite", 
    "column": "value", 
    "rec_index": 39, 
    "search_terms": [
      "#composite"
    ], 
    "link_column": "value", 
    "label": "composite", 
    "is_multiple": {}, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_9", 
    "is_editable": true, 
    "display": {
      "composite_template": "{#genre:'re(cmp(count($, ','), 1, '', $,  sublist(list_sort($, '0', ','), 1, 2, ',')), '\\.', '/')'||/}{author}/{title}", 
      "composite_sort": "text", 
      "composite_category": true, 
      "contains_html": true, 
      "make_category": true, 
      "use_decorations": 0
    }, 
    "is_csp": false
  }, 
  "uuid": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "uuid"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": null, 
    "datatype": "text", 
    "rec_index": 16, 
    "label": "uuid", 
    "column": null, 
    "display": {}
  }, 
  "title": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "title"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Title", 
    "datatype": "text", 
    "rec_index": 1, 
    "label": "title", 
    "column": null, 
    "display": {}
  }, 
  "series_sort": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "series_sort"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Series Sort", 
    "datatype": "text", 
    "rec_index": 52, 
    "label": "series_sort", 
    "column": null, 
    "display": {}
  }, 
  "#series": {
    "is_category": true, 
    "colnum": 10, 
    "kind": "field", 
    "is_custom": true, 
    "name": "series", 
    "column": "value", 
    "rec_index": 25, 
    "search_terms": [
      "#series"
    ], 
    "link_column": "value", 
    "label": "series", 
    "is_multiple": {}, 
    "datatype": "series", 
    "category_sort": "value", 
    "table": "custom_column_10", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "comments": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "comments", 
      "comment"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Comments", 
    "datatype": "text", 
    "rec_index": 7, 
    "label": "comments", 
    "column": null, 
    "display": {}
  }, 
  "@Foo Bar.Mumble": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "user", 
    "is_custom": false, 
    "name": "Foo Bar.Mumble", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [
      "@Foo Bar.Mumble", 
      "@foo bar.mumble"
    ], 
    "is_csp": false
  }, 
  "languages": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "languages", 
      "language"
    ], 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "table": "languages", 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Languages", 
    "datatype": "text", 
    "rec_index": 21, 
    "link_column": "lang_code", 
    "label": "languages", 
    "column": "lang_code", 
    "category_sort": "lang_code", 
    "display": {}
  }, 
  "#myrating": {
    "is_category": true, 
    "colnum": 12, 
    "kind": "field", 
    "is_custom": true, 
    "name": "myrating", 
    "column": "value", 
    "rec_index": 38, 
    "search_terms": [
      "#myrating"
    ], 
    "link_column": "value", 
    "label": "myrating", 
    "is_multiple": {}, 
    "datatype": "rating", 
    "category_sort": "value", 
    "table": "custom_column_12", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "#authtest": {
    "is_category": true, 
    "colnum": 13, 
    "kind": "field", 
    "is_custom": true, 
    "name": "authtext", 
    "column": "value", 
    "rec_index": 43, 
    "search_terms": [
      "#authtest"
    ], 
    "link_column": "value", 
    "label": "authtest", 
    "is_multiple": {
      "cache_to_list": "|", 
      "list_to_ui": " & ", 
      "ui_to_list": "&"
    }, 
    "datatype": "text", 
    "category_sort": "value", 
    "table": "custom_column_13", 
    "is_editable": true, 
    "display": {
      "sep_char": "&", 
      "sep_str": " & ", 
      "is_names": true, 
      "use_decorations": 0
    }, 
    "is_csp": false
  }, 
  "#mytextmult": {
    "is_category": true, 
    "colnum": 14, 
    "kind": "field", 
    "is_custom": true, 
    "name": "mytextmult", 
    "column": "value", 
    "rec_index": 45, 
    "search_terms": [
      "#mytextmult"
    ], 
    "link_column": "value", 
    "label": "mytextmult", 
    "is_multiple": {
      "cache_to_list": "|", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "datatype": "text", 
    "category_sort": "value", 
    "table": "custom_column_14", 
    "is_editable": true, 
    "display": {
      "is_names": false
    }, 
    "is_csp": false
  }, 
  "#text": {
    "is_category": true, 
    "colnum": 15, 
    "kind": "field", 
    "is_custom": true, 
    "name": "mytext", 
    "column": "value", 
    "rec_index": 37, 
    "search_terms": [
      "#text"
    ], 
    "link_column": "value", 
    "label": "text", 
    "is_multiple": {}, 
    "datatype": "text", 
    "category_sort": "value", 
    "table": "custom_column_15", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "sort": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "title_sort"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Title Sort", 
    "datatype": "text", 
    "rec_index": 11, 
    "label": "sort", 
    "column": null, 
    "display": {}
  }, 
  "search": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "search", 
    "is_custom": false, 
    "name": "Searches", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [], 
    "is_csp": false
  }, 
  "#comp4": {
    "is_category": false, 
    "colnum": 24, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comp4", 
    "column": "value", 
    "rec_index": 30, 
    "search_terms": [
      "#comp4"
    ], 
    "link_column": "value", 
    "label": "comp4", 
    "is_multiple": {}, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_24", 
    "is_editable": true, 
    "display": {
      "composite_template": "{series_index:re(^0*$,)}", 
      "make_category": false, 
      "use_decorations": 0, 
      "composite_sort": "text"
    }, 
    "is_csp": false
  }, 
  "tags": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "tags", 
      "tag"
    ], 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "table": "tags", 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Tags", 
    "datatype": "text", 
    "rec_index": 6, 
    "link_column": "tag", 
    "label": "tags", 
    "column": "name", 
    "category_sort": "name", 
    "display": {}
  }, 
  "@foobar": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "user", 
    "is_custom": false, 
    "name": "foobar", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [
      "@foobar"
    ], 
    "is_csp": false
  }, 
  "timestamp": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "date"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Date", 
    "datatype": "datetime", 
    "rec_index": 3, 
    "label": "timestamp", 
    "column": null, 
    "display": {
      "date_format": "dd MMM yyyy"
    }
  }, 
  "@Foo Bar": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "user", 
    "is_custom": false, 
    "name": "Foo Bar", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [
      "@Foo Bar", 
      "@foo bar"
    ], 
    "is_csp": false
  }, 
  "@a_series": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "user", 
    "is_custom": false, 
    "name": "a_series", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [
      "@a_series"
    ], 
    "is_csp": false
  }, 
  "#myfloat": {
    "is_category": false, 
    "colnum": 16, 
    "kind": "field", 
    "is_custom": true, 
    "name": "myfloat", 
    "column": "value", 
    "rec_index": 36, 
    "search_terms": [
      "#myfloat"
    ], 
    "link_column": "value", 
    "label": "myfloat", 
    "is_multiple": {}, 
    "datatype": "float", 
    "category_sort": "value", 
    "table": "custom_column_16", 
    "is_editable": true, 
    "display": {
      "number_template": "${0:0>5.2f}", 
      "number_format": "Price: $ {0:,.2f}"
    }, 
    "is_csp": false
  }, 
  "last_modified": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "last_modified"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Modified", 
    "datatype": "datetime", 
    "rec_index": 19, 
    "label": "last_modified", 
    "column": null, 
    "display": {
      "date_format": "dd MMM yyyy hh:mm:ss"
    }
  }, 
  "#comment": {
    "is_category": false, 
    "colnum": 17, 
    "kind": "field", 
    "is_custom": true, 
    "name": "mycomment", 
    "column": "value", 
    "rec_index": 22, 
    "search_terms": [
      "#comment"
    ], 
    "link_column": "value", 
    "label": "comment", 
    "is_multiple": {}, 
    "datatype": "comments", 
    "category_sort": "value", 
    "table": "custom_column_17", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "authors": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "authors", 
      "author"
    ], 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": " & ", 
      "ui_to_list": "&"
    }, 
    "table": "authors", 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Authors", 
    "datatype": "text", 
    "rec_index": 2, 
    "link_column": "author", 
    "label": "authors", 
    "column": "name", 
    "category_sort": "sort", 
    "display": {}
  }, 
  "news": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [], 
    "is_multiple": {}, 
    "table": "news", 
    "is_editable": true, 
    "kind": "category", 
    "is_custom": false, 
    "name": "News", 
    "datatype": null, 
    "label": "news", 
    "column": "name", 
    "category_sort": "name", 
    "display": {}
  }, 
  "#mybool": {
    "is_category": false, 
    "colnum": 19, 
    "kind": "field", 
    "is_custom": true, 
    "name": "mybool", 
    "column": "value", 
    "rec_index": 46, 
    "search_terms": [
      "#mybool"
    ], 
    "link_column": "value", 
    "label": "mybool", 
    "is_multiple": {}, 
    "datatype": "bool", 
    "category_sort": "value", 
    "table": "custom_column_19", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "#series_index": {
    "is_category": false, 
    "colnum": null, 
    "kind": "field", 
    "is_custom": false, 
    "name": "", 
    "column": null, 
    "rec_index": 26, 
    "search_terms": [
      "#series_index"
    ], 
    "link_column": null, 
    "label": "series_index", 
    "is_multiple": {}, 
    "datatype": "float", 
    "category_sort": null, 
    "table": null, 
    "is_editable": false, 
    "display": {}, 
    "is_csp": false
  }, 
  "publisher": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "publisher"
    ], 
    "is_multiple": {}, 
    "table": "publishers", 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Publisher", 
    "datatype": "text", 
    "rec_index": 9, 
    "link_column": "publisher", 
    "label": "publisher", 
    "column": "name", 
    "category_sort": "name", 
    "display": {}
  }, 
  "series_index": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "series_index"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": null, 
    "datatype": "float", 
    "rec_index": 10, 
    "label": "series_index", 
    "column": null, 
    "display": {}
  }, 
  "#people": {
    "is_category": true, 
    "colnum": 27, 
    "kind": "field", 
    "is_custom": true, 
    "name": "People", 
    "column": "value", 
    "rec_index": 24, 
    "search_terms": [
      "#people"
    ], 
    "link_column": "value", 
    "label": "people", 
    "is_multiple": {
      "cache_to_list": "|", 
      "list_to_ui": " & ", 
      "ui_to_list": "&"
    }, 
    "datatype": "text", 
    "category_sort": "value", 
    "table": "custom_column_27", 
    "is_editable": true, 
    "display": {
      "is_names": true, 
      "use_decorations": 0
    }, 
    "is_csp": false
  }, 
  "#enum": {
    "is_category": true, 
    "colnum": 21, 
    "kind": "field", 
    "is_custom": true, 
    "name": "\u00e9num", 
    "column": "value", 
    "rec_index": 41, 
    "search_terms": [
      "#enum"
    ], 
    "link_column": "value", 
    "label": "enum", 
    "is_multiple": {}, 
    "datatype": "enumeration", 
    "category_sort": "value", 
    "table": "custom_column_21", 
    "is_editable": true, 
    "display": {
      "enum_colors": [], 
      "use_decorations": 2, 
      "enum_values": [
        "def", 
        "one", 
        "two", 
        "five", 
        "no", 
        "blap", 
        "yes"
      ]
    }, 
    "is_csp": false
  }, 
  "#comp2": {
    "is_category": false, 
    "colnum": 22, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comp2", 
    "column": "value", 
    "rec_index": 27, 
    "search_terms": [
      "#comp2"
    ], 
    "link_column": "value", 
    "label": "comp2", 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_22", 
    "is_editable": true, 
    "display": {
      "composite_template": "program:\n\tas = field('author_sort');\n# list item removes the comma. Note that this doesn't work if there are multiple authors.\n\tasfn = list_item(as, 1, ',');\n\tasln = uppercase(list_item(as, 0, ','));\n\n# Use the template function as a convenience to avoid calling format_number\n\thas_series = template('{series}/[{series}-{series_index:0>2s}]');\n\tno_series = strcat(asln, ' ', asfn, '  -');\n\tseries_val = test(field('series'), has_series, no_series);\n\n\tstrcat(asln, ' ', asfn,  '/', series_val, ' ', field('title'))", 
      "contains_html": false, 
      "make_category": true, 
      "composite_sort": "number"
    }, 
    "is_csp": false
  }, 
  "identifiers": {
    "is_category": true, 
    "is_csp": true, 
    "search_terms": [
      "identifiers", 
      "identifier", 
      "isbn"
    ], 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Identifiers", 
    "datatype": "text", 
    "rec_index": 20, 
    "label": "identifiers", 
    "column": null, 
    "display": {}
  }, 
  "cover": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "cover"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Cover", 
    "datatype": "int", 
    "rec_index": 17, 
    "label": "cover", 
    "column": null, 
    "display": {}
  }, 
  "#comp5": {
    "is_category": false, 
    "colnum": 25, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comp5", 
    "column": "value", 
    "rec_index": 31, 
    "search_terms": [
      "#comp5"
    ], 
    "link_column": "value", 
    "label": "comp5", 
    "is_multiple": {}, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_25", 
    "is_editable": true, 
    "display": {
      "composite_template": "{tags:count(,)}", 
      "contains_html": false, 
      "make_category": true, 
      "composite_sort": "date", 
      "use_decorations": 0
    }, 
    "is_csp": false
  }, 
  "@Foo Bar.Bar": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "user", 
    "is_custom": false, 
    "name": "Foo Bar.Bar", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [
      "@Foo Bar.Bar", 
      "@foo bar.bar"
    ], 
    "is_csp": false
  }, 
  "#enum2": {
    "is_category": true, 
    "colnum": 26, 
    "kind": "field", 
    "is_custom": true, 
    "name": "enum2", 
    "column": "value", 
    "rec_index": 32, 
    "search_terms": [
      "#enum2"
    ], 
    "link_column": "value", 
    "label": "enum2", 
    "is_multiple": {}, 
    "datatype": "enumeration", 
    "category_sort": "value", 
    "table": "custom_column_26", 
    "is_editable": true, 
    "display": {
      "enum_colors": [], 
      "use_decorations": 2, 
      "enum_values": [
        "Yes", 
        "No", 
        "!"
      ]
    }, 
    "is_csp": false
  }, 
  "#mybool2": {
    "is_category": false, 
    "colnum": 20, 
    "kind": "field", 
    "is_custom": true, 
    "name": "mybool2", 
    "column": "value", 
    "rec_index": 29, 
    "search_terms": [
      "#mybool2"
    ], 
    "link_column": "value", 
    "label": "mybool2", 
    "is_multiple": {}, 
    "datatype": "bool", 
    "category_sort": "value", 
    "table": "custom_column_20", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }, 
  "ondevice": {
    "is_category": false, 
    "is_csp": false, 
    "search_terms": [
      "ondevice"
    ], 
    "is_multiple": {}, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "On Device", 
    "datatype": "text", 
    "rec_index": 50, 
    "label": "ondevice", 
    "column": null, 
    "display": {}
  }, 
  "#comp_2": {
    "is_category": false, 
    "colnum": 29, 
    "kind": "field", 
    "is_custom": true, 
    "name": "comp_2", 
    "column": "value", 
    "rec_index": 44, 
    "search_terms": [
      "#comp_2"
    ], 
    "link_column": "value", 
    "label": "comp_2", 
    "is_multiple": {}, 
    "datatype": "composite", 
    "category_sort": "value", 
    "table": "custom_column_29", 
    "is_editable": true, 
    "display": {
      "composite_template": "{:'format_date(raw_field('last_modified'), 'dd/MM/yy hh:mm:ss AP')'}", 
      "is_names": false, 
      "composite_sort": "date", 
      "contains_html": false, 
      "make_category": false, 
      "use_decorations": 0
    }, 
    "is_csp": false
  }, 
  "formats": {
    "is_category": true, 
    "is_csp": false, 
    "search_terms": [
      "formats", 
      "format"
    ], 
    "is_multiple": {
      "cache_to_list": ",", 
      "list_to_ui": ", ", 
      "ui_to_list": ","
    }, 
    "table": null, 
    "is_editable": true, 
    "kind": "field", 
    "is_custom": false, 
    "name": "Formats", 
    "datatype": "text", 
    "rec_index": 13, 
    "label": "formats", 
    "column": null, 
    "display": {}
  }, 
  "@foobar.Mumble": {
    "is_multiple": {}, 
    "datatype": null, 
    "kind": "user", 
    "is_custom": false, 
    "name": "foobar.Mumble", 
    "column": null, 
    "table": null, 
    "is_category": true, 
    "search_terms": [
      "@foobar.Mumble", 
      "@foobar.mumble"
    ], 
    "is_csp": false
  }, 
  "#tool": {
    "is_category": true, 
    "colnum": 18, 
    "kind": "field", 
    "is_custom": true, 
    "name": "Name", 
    "column": "value", 
    "rec_index": 40, 
    "search_terms": [
      "#tool"
    ], 
    "link_column": "value", 
    "label": "tool", 
    "is_multiple": {}, 
    "datatype": "text", 
    "category_sort": "value", 
    "table": "custom_column_18", 
    "is_editable": true, 
    "display": {}, 
    "is_csp": false
  }
}
The custom column definitions are the ones where the name before the { character begin with a '#' character.
chaley is offline   Reply With Quote
Advert
Old 07-23-2014, 10:56 PM   #3
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,871
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
@chaley: Aren't the custom column definition also in the backup opf files, albeit in less readable form?
kovidgoyal is offline   Reply With Quote
Old 07-24-2014, 12:28 AM   #4
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 20,588
Karma: 26954694
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Quote:
Originally Posted by BookJunkieLI View Post
Before I possibly reinvent the wheel or take the really scenic route, is there a way to view the custom columns I have in my library and their settings in a list format outside of Calibre?

I know I can create a csv catalog that will give me all the column headings but it doesn't tell me if a column is yes/no; text, shown in tag browser; text, like tags, shown in tag browser; etcetera.

I need to revamp my custom columns across two libraries before I work on merging them into a single new library and was hoping there was an easy way to view them, like in a spread sheet, before I start messing around with things and possibly making more work than necessary for myself.

Thanks.
@BookJunkieLI - I look with SQLite Browser (its at sourceforge), see attachment.

I've also used Command Line Shell For SQLite to write custom_columns to a .csv file.

Just don't write to the metadata.db

BR
Attached Thumbnails
Click image for larger version

Name:	Capture.JPG
Views:	298
Size:	59.7 KB
ID:	125771  
BetterRed is online now   Reply With Quote
Old 07-24-2014, 12:32 AM   #5
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,421
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
Quote:
Originally Posted by kovidgoyal View Post
@chaley: Aren't the custom column definition also in the backup opf files, albeit in less readable form?
or in backup prefs.json
eschwartz is offline   Reply With Quote
Advert
Old 07-24-2014, 01:36 AM   #6
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 11,742
Karma: 6997045
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Quote:
Originally Posted by kovidgoyal View Post
@chaley: Aren't the custom column definition also in the backup opf files, albeit in less readable form?
Yes, but a lot less readable. The JSON is all on one line.
Quote:
Originally Posted by eschwartz View Post
or in backup prefs.json
Again, yes, in the file metadata_db_prefs_backup.json. This is much more readable, but you need to ignore all the other stuff in the file. It is under the field_metadata key.
chaley is offline   Reply With Quote
Old 07-24-2014, 09:59 AM   #7
BookJunkieLI
Evangelist
BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.
 
BookJunkieLI's Avatar
 
Posts: 435
Karma: 572984
Join Date: Jan 2010
Location: Long Island
Device: Kobo Libra 2, Kindle 4, Nook Gl4, Nook STR, REB 1100, Ebookwise 1500,
Thanks for the help Chaley and BetterRed. I was hoping for something along the lines of the attached image. I'm between projects and was really really bored at work yesterday. But I'll definitely take a look at the SQLite Browser for future reference. It never hurts to have a better understanding of what the coding looks like.

Edit: I just want to double-check, the file I'd look at for the column info is the metadata.db, right? Hence BR's suggestion not to save there?
Attached Thumbnails
Click image for larger version

Name:	ScreenShot.jpg
Views:	292
Size:	127.5 KB
ID:	125786  
BookJunkieLI is offline   Reply With Quote
Old 07-24-2014, 05:35 PM   #8
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 20,588
Karma: 26954694
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Quote:
Originally Posted by BookJunkieLI View Post
Edit: I just want to double-check, the file I'd look at for the column info is the metadata.db, right? Hence BR's suggestion not to save there?
See the title bar in my screen shot I've gained quite a lot of insight into the workings of calibre via examining the database schema.

You could create a csv of the custom columns table using the sqlite3.exe shell command program - there's an example in the link I posted.

BR

Last edited by BetterRed; 07-24-2014 at 05:39 PM.
BetterRed is online now   Reply With Quote
Old 07-25-2014, 09:36 AM   #9
BookJunkieLI
Evangelist
BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.BookJunkieLI ought to be getting tired of karma fortunes by now.
 
BookJunkieLI's Avatar
 
Posts: 435
Karma: 572984
Join Date: Jan 2010
Location: Long Island
Device: Kobo Libra 2, Kindle 4, Nook Gl4, Nook STR, REB 1100, Ebookwise 1500,
Quote:
Originally Posted by BetterRed View Post
See the title bar in my screen shot I've gained quite a lot of insight into the workings of calibre via examining the database schema.
Oops. Missed that when I looked at the image. Played around with the SQLite Data Browser a bit. It's pretty interesting. I was smart too and looked at a backed up copy of the db file rather than the 'active' one. No chance of me screwing things up there.
BookJunkieLI is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Custom Column Colors for "Text but with a fixed list of permitted values" Skeeve Calibre 5 04-03-2014 01:44 PM
Custom column returns value based on value of another custom column? calvin-c Calibre 3 09-14-2013 02:24 PM
Custom yes/no column built from long text column Philantrop Library Management 7 03-23-2013 07:44 PM
how to move value(s) of tag column to a custom made column zoorakhan Library Management 0 12-08-2012 03:53 AM
Custom Column with list of permitted values Eugenie Library Management 1 01-10-2012 03:57 AM


All times are GMT -4. The time now is 01:34 PM.


MobileRead.com is a privately owned, operated and funded community.