Skip to content

Commit

Permalink
Redid Folder Structure and added readmes
Browse files Browse the repository at this point in the history
  • Loading branch information
DDC committed Feb 14, 2012
1 parent ef654e0 commit bf8d7e5
Show file tree
Hide file tree
Showing 12 changed files with 115 additions and 710 deletions.
572 changes: 0 additions & 572 deletions BRD/Eagle2kicad.py

This file was deleted.

138 changes: 0 additions & 138 deletions BRD/brdParser.py

This file was deleted.

8 changes: 8 additions & 0 deletions Common/Board.py
@@ -0,0 +1,8 @@
"""
Holds all information about a board
in list format.
"""
from Eagle import Drawing

class Board(Drawing):
__slots__=()
71 changes: 71 additions & 0 deletions Common/Eagle.py
@@ -0,0 +1,71 @@
"""
Eagle.py
Describes an instance of an eagle File
"""
from xml.etree.ElementTree import ElementTree
from Board import Board
from Schematic import Schematic
from Library import Library

class Eagle():
__slots__=('version','compatability','drawing')

def __init__(self,root):
self.version=root.get('version')
self.drawing=Drawing(root.find('drawing'))

class Drawing():
__slots__=('settings','grid','layers','EdaDoc')

def __init__(self,Node):
self.settings={}
self.grid={}
self.layers={}
self.getSettings(Node.find('settings'))
self.getGrid(Node.find('grid'))
self.getLayers(Node.find('layers'))
self.getEDA(Node)

def getGrid(self,gridNode):
# <!ELEMENT grid EMPTY>
# <!ATTLIST grid
# distance %Real; #IMPLIED
# unitdist %GridUnit; #IMPLIED
# unit %GridUnit; #IMPLIED
# style %GridStyle; "lines"
# multiple %Int; "1"
# display %Bool; "no"
# altdistance %Real; #IMPLIED
# altunitdist %GridUnit; #IMPLIED
# altunit %GridUnit; #IMPLIED
self.grid=gridNode.attrib

def getSettings(self,settingsNode):
for setting in settingsNode.findall('setting'):
for key in setting.keys():
self.settings[key]=setting.get(key)

def getLayers(self,layersNode):
for layer in list(layersNode):#._children:
self.layers[layer.get('number')]=Layer(layer)

def getEDA(self,drawingRoot):
if not drawingRoot.find('library')==None:
self.EdaDoc=Library(drawingRoot.find('library'))
elif not drawingRoot.find('schematic'):
self.EdaDoc=Schematic(drawingRoot.find('schematic'))
elif not drawingRoot.find('board'):
self.EdaDoc=Board(drawingRoot.find('board'))

class Layer():
__slots__=('attributes')
def __init__(self,LayerNode):
self.attributes=LayerNode.attrib


if __name__ == '__main__':
""" Parse an Eagle XML file into a design """
xmltree = ElementTree(file='test.xml')
root = xmltree.getroot()
eagle=Eagle(root)
print('')
16 changes: 16 additions & 0 deletions Common/Library.py
@@ -0,0 +1,16 @@
'''
Created on Jan 23, 2012
@author: Dan
'''

class Library(object):
'''
classdocs
'''


def __init__(self,schematicNode):
'''
Constructor
'''
17 changes: 17 additions & 0 deletions Common/Schematic.py
@@ -0,0 +1,17 @@
'''
Created on Jan 23, 2012
@author: Dan
'''

class Schematic(object):
'''
classdocs
'''


def __init__(self,schematicNode):
'''
Constructor
'''

1 change: 1 addition & 0 deletions Common/readme.txt
@@ -0,0 +1 @@
Note that these files are not implemented yet
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions Library/readme.txt
@@ -0,0 +1 @@
Note that these files are not implemented yet
1 change: 1 addition & 0 deletions Schematic/readme.txt
@@ -0,0 +1 @@
Note that these files are not implemented yet
File renamed without changes.

0 comments on commit bf8d7e5

Please sign in to comment.