mirror of
https://github.com/inventree/demo-dataset.git
synced 2025-04-28 05:26:49 +00:00
Add old script for generating pin headers
This commit is contained in:
parent
bf0a61169c
commit
4b2a90b461
97
scripts/pin_headers.py
Normal file
97
scripts/pin_headers.py
Normal file
@ -0,0 +1,97 @@
|
||||
|
||||
from random import randint
|
||||
|
||||
from inventree.api import InvenTreeAPI
|
||||
|
||||
from inventree.part import Part, Parameter, ParameterTemplate
|
||||
from inventree.stock import StockItem
|
||||
|
||||
api = InvenTreeAPI("http://localhost:8000", username="admin", password="inventree")
|
||||
|
||||
# Pin headers category
|
||||
cat_id = 21
|
||||
|
||||
# Storage location
|
||||
loc_id = 10
|
||||
|
||||
rows = [1, 2]
|
||||
pitch = [1.27, 2.0, 2.54]
|
||||
ways = range(2, 11)
|
||||
|
||||
# Parameter templates
|
||||
templates = {}
|
||||
|
||||
for tmp in ParameterTemplate.list(api):
|
||||
templates[tmp.name] = tmp.pk
|
||||
|
||||
for r in rows:
|
||||
for p in pitch:
|
||||
for w in ways:
|
||||
|
||||
n = r * w
|
||||
|
||||
name = f"PinHeader_{r}x{w:02d}x{p}mm"
|
||||
description = f"Male pin header connector, {r} rows, {n} positions, {p}mm pitch, vertical"
|
||||
keywords = "pin header connector"
|
||||
|
||||
# Check if this part already exists
|
||||
results = Part.list(api, search=name)
|
||||
|
||||
if len(results) > 0:
|
||||
part = results[0]
|
||||
else:
|
||||
part = Part.create(
|
||||
api,
|
||||
{
|
||||
'name': name,
|
||||
'description': description,
|
||||
'keywords': keywords,
|
||||
'category': cat_id,
|
||||
'purchaseable': True,
|
||||
'component': True,
|
||||
}
|
||||
)
|
||||
|
||||
# Create stock item for this item
|
||||
items = StockItem.list(api, part=part.pk)
|
||||
|
||||
if len(items) == 0:
|
||||
q = randint(0, 25)
|
||||
|
||||
if q > 0:
|
||||
StockItem.create(
|
||||
api,
|
||||
{
|
||||
'part': part.pk,
|
||||
'quantity': q,
|
||||
'location': loc_id,
|
||||
}
|
||||
)
|
||||
|
||||
# Generate parameters for each item
|
||||
Parameter.create(
|
||||
api,
|
||||
{
|
||||
'part': part.pk,
|
||||
'template': templates['Pitch'],
|
||||
'data': p
|
||||
}
|
||||
)
|
||||
|
||||
Parameter.create(
|
||||
api,
|
||||
{
|
||||
'part': part.pk,
|
||||
'template': templates['Positions'],
|
||||
'data': n
|
||||
}
|
||||
)
|
||||
|
||||
Parameter.create(
|
||||
api,
|
||||
{
|
||||
'part': part.pk,
|
||||
'template': templates['Rows'],
|
||||
'data': r
|
||||
}
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user