diff options
author | Paulo Henrique Silva <ph.silva@gmail.com> | 2016-01-05 22:05:19 -0200 |
---|---|---|
committer | Paulo Henrique Silva <ph.silva@gmail.com> | 2016-01-05 22:05:19 -0200 |
commit | 7a532514631384dbfc9d7fc2002cbbfe52433c9f (patch) | |
tree | 5678cff7ba877e9c93ea63445f081fd0430f8b4b /gerber/utils.py | |
parent | af5541ac93b222c05229ee05c9def8dbae5f6e25 (diff) | |
parent | 6a005436b475e3517fd6a583473b60e601bcc661 (diff) | |
download | gerbonara-7a532514631384dbfc9d7fc2002cbbfe52433c9f.tar.gz gerbonara-7a532514631384dbfc9d7fc2002cbbfe52433c9f.tar.bz2 gerbonara-7a532514631384dbfc9d7fc2002cbbfe52433c9f.zip |
Merge pull request #53 from curtacircuitos/pcb_interface
Add PCB interface
Diffstat (limited to 'gerber/utils.py')
-rw-r--r-- | gerber/utils.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gerber/utils.py b/gerber/utils.py index 1c0af52..6653683 100644 --- a/gerber/utils.py +++ b/gerber/utils.py @@ -26,6 +26,7 @@ files. # Author: Hamilton Kibbe <ham@hamiltonkib.be> # License: +import os from math import radians, sin, cos from operator import sub @@ -219,7 +220,10 @@ def detect_file_format(data): if 'M48' in line: return 'excellon' elif '%FS' in line: - return'rs274x' + return 'rs274x' + elif ((len(line.split()) >= 2) and + (line.split()[0] == 'P') and (line.split()[1] == 'JOB')): + return 'ipc_d_356' return 'unknown' @@ -288,3 +292,13 @@ def rotate_point(point, angle, center=(0.0, 0.0)): x = center[0] + (cos(angle) * xdelta) - (sin(angle) * ydelta) y = center[1] + (sin(angle) * xdelta) - (cos(angle) * ydelta) return (x, y) + + +def listdir(directory, ignore_hidden=True, ignore_os=True): + os_files = ('.DS_Store', 'Thumbs.db', 'ethumbs.db') + files = os.listdir(directory) + if ignore_hidden: + files = [f for f in files if not f.startswith('.')] + if ignore_os: + files = [f for f in files if not f in os_files] + return files |