From f475a1b0909b246113c899573576b2ca7a8b6db9 Mon Sep 17 00:00:00 2001 From: vuko Date: Sat, 30 May 2020 14:53:01 +0200 Subject: [PATCH] adding setup, fixing package --- datamatrix/__init__.py | 2 -- default.nix | 11 +++++++++ label_gen/datamatrix.py | 0 label_gen/generator.py | 5 ++-- label_gen/run.py | 51 ++++++++++++++++++++-------------------- label_gen/simplestyle.py | 0 label_gen/uuid_gen.py | 2 +- setup.py | 21 +++++++++++++++++ 8 files changed, 62 insertions(+), 30 deletions(-) delete mode 100644 datamatrix/__init__.py create mode 100644 default.nix mode change 100755 => 100644 label_gen/datamatrix.py mode change 100755 => 100644 label_gen/simplestyle.py create mode 100644 setup.py diff --git a/datamatrix/__init__.py b/datamatrix/__init__.py deleted file mode 100644 index 09e671a..0000000 --- a/datamatrix/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from . import datamatrix -from datamatrix import * diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..c7bffe4 --- /dev/null +++ b/default.nix @@ -0,0 +1,11 @@ +{ pkgs ? import {} }: + +pkgs.python3Packages.buildPythonPackage { + pname = "label-gen"; + version = "1.0"; + + src = ./.; + + propagatedBuildInputs = with pkgs; [ inkscape python3Packages.pyyaml ]; +} + diff --git a/label_gen/datamatrix.py b/label_gen/datamatrix.py old mode 100755 new mode 100644 diff --git a/label_gen/generator.py b/label_gen/generator.py index 004e53b..08f5951 100644 --- a/label_gen/generator.py +++ b/label_gen/generator.py @@ -1,10 +1,11 @@ import xml.etree.ElementTree as ET import xml.dom.minidom as minidom -from datamatrix import datamatrix -import uuid_gen import random import math +from . import uuid_gen +from . import datamatrix + class Label: def __init__(self, name, category, others, url): diff --git a/label_gen/run.py b/label_gen/run.py index 0c54af5..51eec64 100644 --- a/label_gen/run.py +++ b/label_gen/run.py @@ -1,9 +1,10 @@ -import labelgen import argparse import yaml import logging import subprocess +from .generator import Label, Labelgen + parser = argparse.ArgumentParser() parser.add_argument( "labels", nargs="?", default=None, help="file with label definitions" @@ -19,31 +20,31 @@ parser.add_argument( ) parser.add_argument("--empty", action="store_true", help="add empty labels") -args = parser.parse_args() -if args.labels is not None: - with open(args.labels) as f: - parts = yaml.safe_load(f) -else: - parts = [] +def run(): + args = parser.parse_args() -l = labelgen.Labelgen( - y_offset=0.3, x_offset=-1.0, outline=args.outline, add_uuid=args.uuid -) + if args.labels is not None: + with open(args.labels) as f: + parts = yaml.safe_load(f) + else: + parts = [] -for field in range(1 + args.skip, 25): - try: - part = parts[field] - l.set_label(field, labelgen.Label.from_dict(part)) - except IndexError: - if args.empty: - l.set_label(field, labelgen.Label.empty()) - else: - pass - except TypeError: - logging.exception(f"label generation failed for {field} {part}") - if args.empty: - l.set_label(field, labelgen.Label.empty()) + l = Labelgen(y_offset=0.3, x_offset=-1.0, outline=args.outline, add_uuid=args.uuid) -l.gen_svg("out/montage.svg") -subprocess.call("inkscape -f out/montage.svg -A out/montage.pdf".split(" ")) + for field in range(1 + args.skip, 25): + try: + part = parts[field] + l.set_label(field, Label.from_dict(part)) + except IndexError: + if args.empty: + l.set_label(field, Label.empty()) + else: + pass + except TypeError: + logging.exception(f"label generation failed for {field} {part}") + if args.empty: + l.set_label(field, Label.empty()) + + l.gen_svg("out/montage.svg") + subprocess.call("inkscape -f out/montage.svg -A out/montage.pdf".split(" ")) diff --git a/label_gen/simplestyle.py b/label_gen/simplestyle.py old mode 100755 new mode 100644 diff --git a/label_gen/uuid_gen.py b/label_gen/uuid_gen.py index 5a6e00d..25db065 100644 --- a/label_gen/uuid_gen.py +++ b/label_gen/uuid_gen.py @@ -1,11 +1,11 @@ #!/usr/bin/python3 import uuid -from datamatrix import datamatrix import math import xml.etree.ElementTree as ET import xml.dom.minidom as minidom +from . import datamatrix def encode_base256(b): be = bytes() diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..d723ed1 --- /dev/null +++ b/setup.py @@ -0,0 +1,21 @@ +from setuptools import setup + +setup( + name="label-gen", + version="1.0", + description="labels for electronic parts inventory", + author="Jan Wiśniewski", + author_email="vuko@hackerspace.pl", + classifiers=[ + "License :: OSI Approved :: zlib/libpng License", + "Programming Language :: Python :: 3.7", + ], + packages=["label_gen"], + python_requires=">=3.6,", + install_requires=["pyyaml"], + entry_points={ + "console_scripts": [ + "label_gen=label_gen.run:run", + ] + }, +)