coriolis/crlcore/etc/common/devices.py

49 lines
1.7 KiB
Python

# This file is part of the Coriolis Software.
# Copyright (c) UPMC 2019-2019, All Rights Reserved
#
# +-----------------------------------------------------------------+
# | C O R I O L I S |
# | Alliance / Hurricane Interface |
# | |
# | Author : Jean-Paul CHAPUT |
# | E-mail : Jean-Paul.Chaput@lip6.fr |
# | =============================================================== |
# | Python : "./common/devices.py" |
# +-----------------------------------------------------------------+
from Hurricane import DataBase
import helpers.io
from helpers.io import ErrorMessage
from helpers.io import WarningMessage
tech = DataBase.getDB().getTechnology()
def addDevice ( **kw ):
global tech
try:
if kw.has_key('name'):
devDesc = tech.addDeviceDescriptor( kw['name'] )
if kw.has_key('spice'):
devDesc.setSpiceFilePath( kw['spice'] )
if kw.has_key('connectors'):
for connector in kw['connectors']:
devDesc.addConnector( connector )
else:
print WarningMessage( 'common.addDevice(): Missing connectors on device "%s".' % kw['name' ])
if kw.has_key('layouts'):
for layout in kw['layouts']:
devDesc.addLayout( layout[0], layout[1] )
else:
print WarningMessage( 'common.addDevice(): Missing layouts on device "%s".' % kw['name' ])
except Exception, e:
helpers.io.catch( e )
return