partsdb

electronic parts inventory
git clone https://git.e1e0.net/partsdb.git
Log | Files | Refs | README | LICENSE

commit 1f2a4000a0cf828e73abbba9f742b0c6f1e53f4b
parent e471063de2e9a32cb9404dea3b958b6e87cb83c7
Author: Paco Esteban <paco@e1e0.net>
Date:   Sat, 14 Oct 2023 09:20:47 +0200

we can export to excel based on storage

Diffstat:
Mpartsdb/exports/__init__.py | 15++++++++++-----
Mpartsdb/partsdb.py | 11+++++++++--
2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/partsdb/exports/__init__.py b/partsdb/exports/__init__.py @@ -39,12 +39,17 @@ def export_to_html(dest_folder): helpers.html_aux_files(dest_folder) -def export_to_excel(dest_folder="."): - storages = db.get_storages() - _create_excel(storages, "storage", f"{dest_folder}/storages.xlsx") +def export_to_excel(dest_folder=".", storage_id=0): + if storage_id == 0: + storages = db.get_storages() + _create_excel(storages, "storage", f"{dest_folder}/storages.xlsx") + parts = db.list_parts() + part_filename = "parts_all" + else: + parts = db.list_parts_by_storage(storage_id) + part_filename = f"parts_sto_{storage_id}" - parts = db.list_parts() - _create_excel(parts, "part", f"{dest_folder}/parts.xlsx") + _create_excel(parts, "part", f"{dest_folder}/{part_filename}.xlsx") def _create_excel(data, data_type, filename): diff --git a/partsdb/partsdb.py b/partsdb/partsdb.py @@ -326,7 +326,14 @@ def main(): action="store_true", help="Export to Excel. Only parts and storages (default is to HTML)", ) - ap_export.add_argument("dest_folder", help="Destination folder") + ap_export.add_argument( + "-s", + dest="sto_id", + type=int, + default=0, + help="Export only parts on a given storage ID (default to all)", + ) + ap_export.add_argument("dest_folder", default=".", help="Destination folder") args = ap.parse_args() if not args.command: @@ -361,7 +368,7 @@ def main(): adjust_stock(args.part_id, args.stock_mod, args.comment) elif args.command == "export": if args.to_excel: - exports.export_to_excel(args.dest_folder) + exports.export_to_excel(args.dest_folder, args.sto_id) else: exports.export_to_html(args.dest_folder) elif args.command == "cat":