adding setup, fixing package

master
vuko 2020-05-30 14:53:01 +02:00
parent aa6c5b68fc
commit f475a1b090
8 changed files with 62 additions and 30 deletions

View File

@ -1,2 +0,0 @@
from . import datamatrix
from datamatrix import *

11
default.nix Normal file
View File

@ -0,0 +1,11 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.python3Packages.buildPythonPackage {
pname = "label-gen";
version = "1.0";
src = ./.;
propagatedBuildInputs = with pkgs; [ inkscape python3Packages.pyyaml ];
}

0
label_gen/datamatrix.py Executable file → Normal file
View File

View File

@ -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):

View File

@ -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(" "))

0
label_gen/simplestyle.py Executable file → Normal file
View File

View File

@ -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()

21
setup.py Normal file
View File

@ -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",
]
},
)