add all those small scripts
This commit is contained in:
parent
f757dca501
commit
6fc5a09c6d
9 changed files with 168 additions and 7 deletions
|
@ -6,17 +6,23 @@ def main():
|
||||||
print "usage:", sys.argv[0], "packlist.xml x1,y1,z1 x2,y2,z2 x3,y3,z3"
|
print "usage:", sys.argv[0], "packlist.xml x1,y1,z1 x2,y2,z2 x3,y3,z3"
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
packlist = xmlfiletodict(sys.argv[1])
|
|
||||||
|
|
||||||
x1, y1, z1 = map(int, sys.argv[2].split(','))
|
x1, y1, z1 = map(int, sys.argv[2].split(','))
|
||||||
x2, y2, z2 = map(int, sys.argv[3].split(','))
|
x2, y2, z2 = map(int, sys.argv[3].split(','))
|
||||||
x3, y3, z3 = map(int, sys.argv[4].split(','))
|
x3, y3, z3 = map(int, sys.argv[4].split(','))
|
||||||
|
|
||||||
for article in packlist['Response']['PackList']['PackPallets']['PackPallet']['Packages']['Package']:
|
d = xmlfiletodict(sys.argv[1])
|
||||||
x, y, z = int(article['PlacePosition']['X']), int(article['PlacePosition']['Y']), int(article['PlacePosition']['Z'])
|
|
||||||
article['ApproachPoint1']['X'], article['ApproachPoint1']['Y'], article['ApproachPoint1']['Z'] = x+x1, y+y1, z+z1
|
pallets = d["Response"]["PackList"]["PackPallets"]["PackPallet"]
|
||||||
article['ApproachPoint2']['X'], article['ApproachPoint2']['Y'], article['ApproachPoint2']['Z'] = x+x2, y+y2, z+z2
|
|
||||||
article['ApproachPoint3']['X'], article['ApproachPoint3']['Y'], article['ApproachPoint3']['Z'] = x+x3, y+y3, z+z3
|
if not isinstance(pallets, list):
|
||||||
|
pallets = [pallets]
|
||||||
|
|
||||||
|
for pallet in pallets:
|
||||||
|
for article in pallet["Packages"]["Package"]:
|
||||||
|
x, y, z = int(article['PlacePosition']['X']), int(article['PlacePosition']['Y']), int(article['PlacePosition']['Z'])
|
||||||
|
article['ApproachPoint1']['X'], article['ApproachPoint1']['Y'], article['ApproachPoint1']['Z'] = x+x1, y+y1, z+z1
|
||||||
|
article['ApproachPoint2']['X'], article['ApproachPoint2']['Y'], article['ApproachPoint2']['Z'] = x+x2, y+y2, z+z2
|
||||||
|
article['ApproachPoint3']['X'], article['ApproachPoint3']['Y'], article['ApproachPoint3']['Z'] = x+x3, y+y3, z+z3
|
||||||
|
|
||||||
sys.stdout.write(dicttoxmlstring(packlist))
|
sys.stdout.write(dicttoxmlstring(packlist))
|
||||||
|
|
||||||
|
|
15
barcodes.py
Normal file
15
barcodes.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
import sys
|
||||||
|
from util import xmlfiletodict, get_articles
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print "usage:", sys.argv[0], "order.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
orderline = xmlfiletodict(sys.argv[1])
|
||||||
|
|
||||||
|
for article in get_articles(orderline):
|
||||||
|
print article['Barcode']
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
17
densities.py
Normal file
17
densities.py
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import sys
|
||||||
|
from glob import glob
|
||||||
|
from util import xmlfiletodict, get_articles
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print "usage:", sys.argv[0], "order.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
orderline = xmlfiletodict(sys.argv[1])
|
||||||
|
|
||||||
|
for article in get_articles(orderline):
|
||||||
|
volume = article['Article']['Length']*article['Article']['Width']*article['Article']['Height']
|
||||||
|
print 1000.0*article['Article']['Weight']/volume
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
23
descriptions.py
Normal file
23
descriptions.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import sys
|
||||||
|
from util import xmlfiletodict, get_articles
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print "usage:", sys.argv[0], "order.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
orderline = xmlfiletodict(sys.argv[1])
|
||||||
|
|
||||||
|
for article in get_articles(orderline):
|
||||||
|
print '\t'.join([str(a) for a in [
|
||||||
|
article['Article']['Description'],
|
||||||
|
article['Article']['ID'],
|
||||||
|
article['Article']['Type'],
|
||||||
|
article['Article']['Family'],
|
||||||
|
article['Article']['Length'],
|
||||||
|
article['Article']['Width'],
|
||||||
|
article['Article']['Height'],
|
||||||
|
article['Article']['Weight']]])
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
9
evaluate.py
Normal file
9
evaluate.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import ctypes, sys
|
||||||
|
|
||||||
|
if len(sys.argv) != 4:
|
||||||
|
print "usage:", sys.argv[0], "order.xml packlist.xml scoring.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
libpallet = ctypes.cdll.LoadLibrary('./libpallet.so.0.0.0')
|
||||||
|
libpallet.evaluate.restype = ctypes.c_double
|
||||||
|
print libpallet.evaluate(sys.argv[1], sys.argv[2], sys.argv[3])
|
34
evaluate_multi.py
Normal file
34
evaluate_multi.py
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import ctypes, sys
|
||||||
|
from util import xmlfiletodict, get_packlist_dict, dicttoxmlfile, get_order_dict
|
||||||
|
import tempfile
|
||||||
|
import os
|
||||||
|
|
||||||
|
if len(sys.argv) != 3:
|
||||||
|
print "usage:", sys.argv[0], "packlist.xml scoring.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
libpallet = ctypes.cdll.LoadLibrary('./libpallet.so.0.0.0')
|
||||||
|
libpallet.evaluate.restype = ctypes.c_double
|
||||||
|
|
||||||
|
packlist = xmlfiletodict(sys.argv[1])
|
||||||
|
|
||||||
|
pallets = packlist['Response']['PackList']['PackPallets']['PackPallet']
|
||||||
|
|
||||||
|
article_lists = [ pallet['Packages']['Package'] for pallet in pallets ]
|
||||||
|
|
||||||
|
scores = list()
|
||||||
|
for pallet, articles_to_pack in zip(pallets, article_lists):
|
||||||
|
partial_packlist = get_packlist_dict(pallet, articles_to_pack)
|
||||||
|
tmp_fh, tmp = tempfile.mkstemp()
|
||||||
|
tmp_order_fh, tmp_order = tempfile.mkstemp()
|
||||||
|
dicttoxmlfile(partial_packlist, tmp)
|
||||||
|
dicttoxmlfile(get_order_dict(pallet, articles_to_pack), tmp_order)
|
||||||
|
scores.append(libpallet.evaluate(tmp_order, tmp, sys.argv[2]))
|
||||||
|
os.close(tmp_fh)
|
||||||
|
os.close(tmp_order_fh)
|
||||||
|
os.remove(tmp)
|
||||||
|
os.remove(tmp_order)
|
||||||
|
#print tmp_order, tmp
|
||||||
|
print scores
|
||||||
|
|
||||||
|
print sum(scores)/len(scores)
|
12
num_articles_order.py
Normal file
12
num_articles_order.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import sys
|
||||||
|
from util import xmlfiletodict, get_pallet, get_articles
|
||||||
|
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print "usage:", sys.argv[0], "order.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
orderline = xmlfiletodict(sys.argv[1])
|
||||||
|
pallet = get_pallet(orderline)
|
||||||
|
articles = get_articles(orderline)
|
||||||
|
|
||||||
|
print len(articles)
|
20
num_articles_packlist.py
Normal file
20
num_articles_packlist.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
import sys
|
||||||
|
from util import xmlfiletodict
|
||||||
|
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print "usage:", sys.argv[0], "packlist.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
d = xmlfiletodict(sys.argv[1])
|
||||||
|
|
||||||
|
pallets = d["Response"]["PackList"]["PackPallets"]["PackPallet"]
|
||||||
|
|
||||||
|
if not isinstance(pallets, list):
|
||||||
|
pallets = [pallets]
|
||||||
|
|
||||||
|
num_articles = 0
|
||||||
|
|
||||||
|
for pallet in pallets:
|
||||||
|
num_articles += len(pallet["Packages"]["Package"])
|
||||||
|
|
||||||
|
print num_articles
|
25
pallets.py
Normal file
25
pallets.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import sys
|
||||||
|
from util import xmlfiletodict, get_articles
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print "usage:", sys.argv[0], "order.xml"
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
d = xmlfiletodict(sys.argv[1])
|
||||||
|
|
||||||
|
pallets = d['Message']['PalletInit']['Pallets']['Pallet']
|
||||||
|
|
||||||
|
if not isinstance(pallets, list):
|
||||||
|
pallets = [pallets]
|
||||||
|
|
||||||
|
for p in pallets:
|
||||||
|
print "\t".join([
|
||||||
|
p['Dimensions']['Length'],
|
||||||
|
p['Dimensions']['Width'],
|
||||||
|
p['Dimensions']['MaxLoadHeight'],
|
||||||
|
p['Dimensions']['MaxLoadWeight']
|
||||||
|
])
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in a new issue