add single file script called export
This commit is contained in:
parent
3739c276dd
commit
5036cc0eba
89
scripts/export.py
Normal file
89
scripts/export.py
Normal file
@ -0,0 +1,89 @@
|
||||
# example: .\run.py path_to_folder\
|
||||
|
||||
import os
|
||||
import sys
|
||||
import pathlib
|
||||
import subprocess
|
||||
from rich.progress import track
|
||||
from rich import print
|
||||
import PySimpleGUI as sg
|
||||
|
||||
def run(cmdinput):
|
||||
|
||||
# folder input
|
||||
input = next(os.walk(cmdinput))
|
||||
files = input[2]
|
||||
path = input[0]
|
||||
|
||||
currentPath = str(pathlib.Path().resolve())
|
||||
|
||||
# print("files: ", files)
|
||||
# print("currentPath :", currentPath)
|
||||
# print("path: ", path)
|
||||
|
||||
path = path.replace('/', '\\')
|
||||
# print("New path: ", path)
|
||||
|
||||
partFiles = [s for s in files if ".SLDPRT" in s] # get only parts files
|
||||
drwgFiles = [s for s in files if ".SLDDRW" in s] # get only drawings files
|
||||
|
||||
print("\nParts: \n", partFiles)
|
||||
print("\nDrawings: \n", drwgFiles, "\n")
|
||||
|
||||
partWithoutExention = [os.path.splitext(x)[0] for x in partFiles] # remove extension
|
||||
drwgWithoutExtension = [os.path.splitext(x)[0] for x in drwgFiles] # remove extension
|
||||
# print("Parts without extension: ", partWithoutExention)
|
||||
|
||||
# Check if each part has drawings and print
|
||||
for p in partWithoutExention:
|
||||
if str(p) not in str(drwgFiles):
|
||||
print(p, " doesn't have drawing file")
|
||||
|
||||
|
||||
|
||||
outputFolder = str(path) + "\\export\\"
|
||||
# print("Out folder: ", outputFolder)
|
||||
|
||||
# create export directory
|
||||
if not os.path.exists(outputFolder):
|
||||
os.makedirs(outputFolder)
|
||||
# print("\nExport folder created\n")
|
||||
|
||||
# part files
|
||||
for i in track(partWithoutExention, description="Exporting step files...", total=len(partWithoutExention)):
|
||||
input = str(i)
|
||||
commandstep = "PowerShell -NoProfile -ExecutionPolicy Bypass -File " + currentPath + '\export-step.ps1 "' + path + "\\" + input + '" "' + outputFolder + input + '"'
|
||||
# print(commandstep)
|
||||
subprocess.run(commandstep, capture_output=True)
|
||||
|
||||
# drawings files
|
||||
for i in track(drwgWithoutExtension, description="Exporting PDF and DXF...", total = len(drwgWithoutExtension)):
|
||||
input = str(i)
|
||||
commandPdfDxf = "PowerShell -NoProfile -ExecutionPolicy Bypass -File " + currentPath + '\export-pdf-dxf.ps1 "' + path + "\\" + input + '" "' + outputFolder + input + '"'
|
||||
# print(commandPdfDxf)
|
||||
subprocess.run(commandPdfDxf, capture_output=True)
|
||||
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
cmd = str(sys.argv[1] )
|
||||
run(cmd)
|
||||
else:
|
||||
fname = sg.Window('Files exporter',
|
||||
[[sg.Text('Folder to export')],
|
||||
[sg.In(), sg.FolderBrowse()],
|
||||
[sg.Open(), sg.Cancel()]]).read(close=True)[1][0]
|
||||
|
||||
if not fname:
|
||||
sg.popup("Cancel", "No filename supplied")
|
||||
raise SystemExit("Cancelling: no filename supplied")
|
||||
else:
|
||||
# sg.popup('The filename you chose was', fname)
|
||||
print(fname)
|
||||
cmd = str(fname)
|
||||
run(cmd)
|
||||
|
||||
# a = input()
|
||||
# print(a)
|
||||
print("Done")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user