pyIPCMI.ToolChain.py¶
Submodules
- pyIPCMI.ToolChain.Aldec.py
- pyIPCMI.ToolChain.Altera.py
- pyIPCMI.ToolChain.GHDL.py
- pyIPCMI.ToolChain.GNU.py
- pyIPCMI.ToolChain.GTKWave.py
- pyIPCMI.ToolChain.Git.py
- pyIPCMI.ToolChain.Intel.py
- pyIPCMI.ToolChain.Lattice.py
- pyIPCMI.ToolChain.Mentor.py
- pyIPCMI.ToolChain.PoC.py
- pyIPCMI.ToolChain.Synopsys.py
- pyIPCMI.ToolChain.Windows.py
- pyIPCMI.ToolChain.Xilinx.py
Exceptions
ToolChainException
: Base class for all tool specific exceptionsConfigurationException
:ConfigurationException
is raise while running configuration or databaseSkipConfigurationException
:SkipConfigurationException
is aConfigurationException
,
Classes
ConfigurationState
: Describes the configuration state of a tool or vendor.ChangeState
: Describes if a configuration was changed.ToolMixIn
: Undocumented.AskMixIn
: Undocumented.Configuration
: Base class for all Configuration classes.VendorConfiguration
: Base class for all vendor Configuration classes.ToolConfiguration
: Base class for all tool Configuration classes.EditionDescription
: EditionDescription(Name, Section)Edition
: An enumeration.ToolSelector
: Base class for all Selector classes.Configurator
: A instance of this class controls the interactive configuration process.
-
exception
pyIPCMI.ToolChain.
ToolChainException
(message='')[source] Base class for all tool specific exceptions
Inheritance
Members
-
__init__
(message='') Exception initializer
Parameters: message (str) – The exception message.
-
__str__
() Returns the exception’s message text.
-
args
-
-
exception
pyIPCMI.ToolChain.
ConfigurationException
(message='')[source] ConfigurationException
is raise while running configuration or database tasks in pyIPCMIInheritance
Members
-
__init__
(message='') Exception initializer
Parameters: message (str) – The exception message.
-
__str__
() Returns the exception’s message text.
-
args
-
-
exception
pyIPCMI.ToolChain.
SkipConfigurationException
(message='')[source] SkipConfigurationException
is aConfigurationException
, which can be skipped.Inheritance
Members
-
__init__
(message='') Exception initializer
Parameters: message (str) – The exception message.
-
__str__
() Returns the exception’s message text.
-
args
-
-
class
pyIPCMI.ToolChain.
ConfigurationState
[source] Describes the configuration state of a tool or vendor.
Inheritance
Members
-
Unconfigured
= 0
-
Configured
= 1
-
-
class
pyIPCMI.ToolChain.
ChangeState
[source] Describes if a configuration was changed.
Inheritance
Members
-
Unchanged
= 0
-
Changed
= 1
-
-
class
pyIPCMI.ToolChain.
ToolMixIn
(platform, dryrun, binaryDirectoryPath, version, logger=None)[source] Inheritance
Members
-
class
pyIPCMI.ToolChain.
AskMixIn
[source] Inheritance
Members
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)[source]
-
_Ask_YesNoPass
(question, indent=1)[source] Ask a YES/no/pass question.
-
_AskYes_NoPass
(question, indent=1)[source] Ask a yes/NO/pass question.
-
_PrintAvailableEditions
(editions, selectedEdition)[source] Print all available editions and return the selected index.
-
-
class
pyIPCMI.ToolChain.
Configuration
(host: pyIPCMI.Base.IHost)[source] Base class for all Configuration classes.
Inheritance
Members
-
_vendor
= 'Unknown' The name of the tools vendor.
-
_section
= 'INSTALL.Name' The name of the configuration section. Pattern:
INSTALL.Tool
.
-
_multiVersionSupport
= False True if a tool supports multiple versions installed on the same system.
-
_template
= {'ALL': {'INSTALL.Name': {}}, 'Darwin': {'INSTALL.Name': {}}, 'Linux': {'INSTALL.Name': {}}, 'MinGW': {'INSTALL.Name': {}}, 'Windows': {'INSTALL.Name': {}}} The template for the configuration sections represented as nested dictionaries.
-
Host
Return the hosting object.
-
State
Return the configuration state.
-
SectionName
Return the configuration’s section name.
-
IsSupportedPlatform
()[source] Return true if the given platform is supported by this configuration routine.
-
IsConfigured
()[source] Return true if the configurations section is configured
-
CheckDependency
()[source] Check if all vendor or tool dependencies are fulfilled to configure this tool.
-
classmethod
GetSections
(platform)[source] Return all section names for this configuration.
-
PrepareSections
(warningWasWritten, writeWarnings=True)[source]
-
ClearSection
(writeWarnings=False)[source] Clear the configuration section associated to this Configuration class.
-
PrepareOptions
(writeWarnings=True)[source]
-
ConfigureForDarwin
()[source] Start the configuration procedure for Darwin.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Darwin specific configuration routine.
-
ConfigureForLinux
()[source] Start the configuration procedure for Linux.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Linux specific configuration routine.
-
ConfigureForWindows
()[source] Start the configuration procedure for Windows.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Windows specific configuration routine.
-
ConfigureForAll
()[source] Start a generic (platform independent) configuration procedure.
Overwrite this method to implement a generic configuration routine for a (tool) Configuration class.
-
_AskInstalled
(question)[source] Ask a Yes/No/Pass question.
-
_ConfigureInstallationDirectory
()[source] Asks for installation directory and updates section. Checks if entered directory exists and returns Path object. If no installation directory was configured before, then _GetDefaultInstallationDir is called.
-
_GetDefaultInstallationDirectory
()[source] Return unresolved default installation directory (str) from template.
Overwrite function in sub-class for automatic search of installation directory.
-
_GetDefaultOptionValue
(optionName)[source]
-
_TestDefaultInstallPath
(defaults)[source] Helper function for automatic search of installation directory.
-
RunPostConfigurationTasks
()[source] Virtual method. Overwrite to execute post-configuration tasks.
-
Log
(entry, condition=True) Write an entry to the local logger.
-
LogDebug
(*args, condition=True, **kwargs)
-
LogDryRun
(*args, condition=True, **kwargs)
-
LogError
(*args, condition=True, **kwargs)
-
LogFatal
(*args, condition=True, **kwargs)
-
LogInfo
(*args, condition=True, **kwargs)
-
LogNormal
(*args, condition=True, **kwargs)
-
LogQuiet
(*args, condition=True, **kwargs)
-
LogVerbose
(*args, condition=True, **kwargs)
-
LogWarning
(*args, condition=True, **kwargs)
-
Logger
Return the local logger instance.
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskYes_NoPass
(question, indent=1) Ask a yes/NO/pass question.
-
_Ask_YesNoPass
(question, indent=1) Ask a YES/no/pass question.
-
_PrintAvailableEditions
(editions, selectedEdition) Print all available editions and return the selected index.
-
_TryLog
(*args, condition=True, **kwargs)
-
-
class
pyIPCMI.ToolChain.
VendorConfiguration
(host: pyIPCMI.Base.IHost)[source] Base class for all vendor Configuration classes.
Inheritance
Members
-
_section
= 'INSTALL.Vendor.Tool' The name of the configuration section. Pattern:
INSTALL.Vendor
.
-
_template
= {'Darwin': {'INSTALL.Vendor.Tool': {'InstallationDirectory': '/opt/Vendor'}}, 'Linux': {'INSTALL.Vendor.Tool': {'InstallationDirectory': '/opt/Vendor'}}, 'Windows': {'INSTALL.Vendor.Tool': {'InstallationDirectory': 'C:/Vendor'}}} The template for the configuration section represented as nested dictionaries.
-
IsConfigured
() Return true if the vendor represented by this Configuration class is configured in pyIPCMI.
Inherited method
IsConfigured()
from classConfiguration
.
-
ConfigureForAll
()[source] Start a generic (platform independent) vendor configuration procedure.
This method configures a vendor path. Overwrite this method to implement a vendor specific configuration routine for a vendor Configuration class.
-
CheckDependency
() Check if all vendor or tool dependencies are fulfilled to configure this tool.
-
ClearSection
(writeWarnings=False) Clear the configuration section associated to this Configuration class.
-
ConfigureForDarwin
() Start the configuration procedure for Darwin.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Darwin specific configuration routine.
-
ConfigureForLinux
() Start the configuration procedure for Linux.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Linux specific configuration routine.
-
ConfigureForWindows
() Start the configuration procedure for Windows.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Windows specific configuration routine.
-
classmethod
GetSections
(platform) Return all section names for this configuration.
-
Host
Return the hosting object.
-
IsSupportedPlatform
() Return true if the given platform is supported by this configuration routine.
-
Log
(entry, condition=True) Write an entry to the local logger.
-
LogDebug
(*args, condition=True, **kwargs)
-
LogDryRun
(*args, condition=True, **kwargs)
-
LogError
(*args, condition=True, **kwargs)
-
LogFatal
(*args, condition=True, **kwargs)
-
LogInfo
(*args, condition=True, **kwargs)
-
LogNormal
(*args, condition=True, **kwargs)
-
LogQuiet
(*args, condition=True, **kwargs)
-
LogVerbose
(*args, condition=True, **kwargs)
-
LogWarning
(*args, condition=True, **kwargs)
-
Logger
Return the local logger instance.
-
PrepareOptions
(writeWarnings=True)
-
PrepareSections
(warningWasWritten, writeWarnings=True)
-
RunPostConfigurationTasks
() Virtual method. Overwrite to execute post-configuration tasks.
-
SectionName
Return the configuration’s section name.
-
State
Return the configuration state.
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskInstalled
(question) Ask a Yes/No/Pass question.
-
_AskYes_NoPass
(question, indent=1) Ask a yes/NO/pass question.
-
_Ask_YesNoPass
(question, indent=1) Ask a YES/no/pass question.
-
_ConfigureInstallationDirectory
() Asks for installation directory and updates section. Checks if entered directory exists and returns Path object. If no installation directory was configured before, then _GetDefaultInstallationDir is called.
-
_GetDefaultInstallationDirectory
() Return unresolved default installation directory (str) from template.
Overwrite function in sub-class for automatic search of installation directory.
-
_GetDefaultOptionValue
(optionName)
-
_PrintAvailableEditions
(editions, selectedEdition) Print all available editions and return the selected index.
-
_TestDefaultInstallPath
(defaults) Helper function for automatic search of installation directory.
-
_TryLog
(*args, condition=True, **kwargs)
-
_multiVersionSupport
= False
-
_vendor
= 'Unknown'
-
-
class
pyIPCMI.ToolChain.
ToolConfiguration
(host: pyIPCMI.Base.IHost)[source] Base class for all tool Configuration classes.
Inheritance
Members
-
_section
= 'INSTALL.Vendor.Tool' The name of the configuration section. Pattern:
INSTALL.Vendor.ToolName
.
-
_toolName
= 'Tool' The name of the tool.
-
_template
= {'ALL': {'INSTALL.Vendor.Tool': {'Version': '1.0'}}, 'Darwin': {'INSTALL.Vendor.Tool': {'InstallationDirectory': '${INSTALL.Vendor:InstallationDirectory}/${Version}/Tool', 'BinaryDirectory': '${InstallationDirectory}/bin'}}, 'Linux': {'INSTALL.Vendor.Tool': {'InstallationDirectory': '${INSTALL.Vendor:InstallationDirectory}/${Version}/Tool', 'BinaryDirectory': '${InstallationDirectory}/bin'}}, 'Windows': {'INSTALL.Vendor.Tool': {'InstallationDirectory': '${INSTALL.Vendor:InstallationDirectory}/${Version}/Tool/', 'BinaryDirectory': '${InstallationDirectory}/bin'}}} The template for the configuration section represented as nested dictionaries.
-
IsConfigured
() Return true if the tool represented by this Configuration class is configured in pyIPCMI.
Inherited method
IsConfigured()
from classConfiguration
.
-
_ConfigureVersion
()[source] If no version was configured before, then _GetDefaultVersion is called. Asks for version and updates section. Returns version as string.
-
_GetDefaultVersion
()[source] Returns unresolved default version (str) from template.
Overwrite this method in a sub-class for automatic search of version.
-
_ConfigureEdition
(editions, defaultEdition)[source]
-
_GetDefaultEdition
()[source] Returns unresolved default edition (str) from template.
Overwrite this method in a sub-class for automatic search of editions.
-
_ConfigureBinaryDirectory
()[source] Updates section with value from
_template
and returns directory asPath
object.
-
PrepareVersionedSections
(writeWarnings=False)[source]
-
CheckDependency
() Check if all vendor or tool dependencies are fulfilled to configure this tool.
-
ClearSection
(writeWarnings=False) Clear the configuration section associated to this Configuration class.
-
ConfigureForAll
() Start a generic (platform independent) configuration procedure.
Overwrite this method to implement a generic configuration routine for a (tool) Configuration class.
-
ConfigureForDarwin
() Start the configuration procedure for Darwin.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Darwin specific configuration routine.
-
ConfigureForLinux
() Start the configuration procedure for Linux.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Linux specific configuration routine.
-
ConfigureForWindows
() Start the configuration procedure for Windows.
This method is a wrapper for
ConfigureForAll()
. Overwrite this method to implement a Windows specific configuration routine.
-
classmethod
GetSections
(platform) Return all section names for this configuration.
-
Host
Return the hosting object.
-
IsSupportedPlatform
() Return true if the given platform is supported by this configuration routine.
-
Log
(entry, condition=True) Write an entry to the local logger.
-
LogDebug
(*args, condition=True, **kwargs)
-
LogDryRun
(*args, condition=True, **kwargs)
-
LogError
(*args, condition=True, **kwargs)
-
LogFatal
(*args, condition=True, **kwargs)
-
LogInfo
(*args, condition=True, **kwargs)
-
LogNormal
(*args, condition=True, **kwargs)
-
LogQuiet
(*args, condition=True, **kwargs)
-
LogVerbose
(*args, condition=True, **kwargs)
-
LogWarning
(*args, condition=True, **kwargs)
-
Logger
Return the local logger instance.
-
PrepareOptions
(writeWarnings=True)
-
PrepareSections
(warningWasWritten, writeWarnings=True)
-
RunPostConfigurationTasks
() Virtual method. Overwrite to execute post-configuration tasks.
-
SectionName
Return the configuration’s section name.
-
State
Return the configuration state.
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskInstalled
(question) Ask a Yes/No/Pass question.
-
_AskYes_NoPass
(question, indent=1) Ask a yes/NO/pass question.
-
_Ask_YesNoPass
(question, indent=1) Ask a YES/no/pass question.
-
_ConfigureInstallationDirectory
() Asks for installation directory and updates section. Checks if entered directory exists and returns Path object. If no installation directory was configured before, then _GetDefaultInstallationDir is called.
-
_GetDefaultInstallationDirectory
() Return unresolved default installation directory (str) from template.
Overwrite function in sub-class for automatic search of installation directory.
-
_GetDefaultOptionValue
(optionName)
-
_PrintAvailableEditions
(editions, selectedEdition) Print all available editions and return the selected index.
-
_TestDefaultInstallPath
(defaults) Helper function for automatic search of installation directory.
-
_TryLog
(*args, condition=True, **kwargs)
-
_multiVersionSupport
= False
-
_vendor
= 'Unknown'
-
-
class
pyIPCMI.ToolChain.
EditionDescription
(Name, Section) Inheritance
Members
-
Name
Alias for field number 0
-
Section
Alias for field number 1
-
_asdict
() Return a new OrderedDict which maps field names to their values.
-
_fields
= ('Name', 'Section')
-
classmethod
_make
(iterable, new=<built-in method __new__ of type object at 0xa385c0>, len=<built-in function len>) Make a new EditionDescription object from a sequence or iterable
-
_replace
(**kwds) Return a new EditionDescription object replacing specified fields with new values
-
_source
= "from builtins import property as _property, tuple as _tuple\nfrom operator import itemgetter as _itemgetter\nfrom collections import OrderedDict\n\nclass EditionDescription(tuple):\n 'EditionDescription(Name, Section)'\n\n __slots__ = ()\n\n _fields = ('Name', 'Section')\n\n def __new__(_cls, Name, Section):\n 'Create new instance of EditionDescription(Name, Section)'\n return _tuple.__new__(_cls, (Name, Section))\n\n @classmethod\n def _make(cls, iterable, new=tuple.__new__, len=len):\n 'Make a new EditionDescription object from a sequence or iterable'\n result = new(cls, iterable)\n if len(result) != 2:\n raise TypeError('Expected 2 arguments, got %d' % len(result))\n return result\n\n def _replace(_self, **kwds):\n 'Return a new EditionDescription object replacing specified fields with new values'\n result = _self._make(map(kwds.pop, ('Name', 'Section'), _self))\n if kwds:\n raise ValueError('Got unexpected field names: %r' % list(kwds))\n return result\n\n def __repr__(self):\n 'Return a nicely formatted representation string'\n return self.__class__.__name__ + '(Name=%r, Section=%r)' % self\n\n def _asdict(self):\n 'Return a new OrderedDict which maps field names to their values.'\n return OrderedDict(zip(self._fields, self))\n\n def __getnewargs__(self):\n 'Return self as a plain tuple. Used by copy and pickle.'\n return tuple(self)\n\n Name = _property(_itemgetter(0), doc='Alias for field number 0')\n\n Section = _property(_itemgetter(1), doc='Alias for field number 1')\n\n"
-
count
(value) → integer -- return number of occurrences of value
-
index
(value[, start[, stop]]) → integer -- return first index of value. Raises ValueError if the value is not present.
-
-
class
pyIPCMI.ToolChain.
Edition
(name, section)[source] An enumeration.
Inheritance
Members
-
class
pyIPCMI.ToolChain.
ToolSelector
(host: pyIPCMI.Base.IHost)[source] Base class for all Selector classes.
Inheritance
Members
-
_toolName
= ''
-
ToolName
-
_GetConfiguredEditions
(editions)[source] Return all configured editions.
-
_AskSelection
(editions, defaultEdition)[source]
-
Log
(entry, condition=True) Write an entry to the local logger.
-
LogDebug
(*args, condition=True, **kwargs)
-
LogDryRun
(*args, condition=True, **kwargs)
-
LogError
(*args, condition=True, **kwargs)
-
LogFatal
(*args, condition=True, **kwargs)
-
LogInfo
(*args, condition=True, **kwargs)
-
LogNormal
(*args, condition=True, **kwargs)
-
LogQuiet
(*args, condition=True, **kwargs)
-
LogVerbose
(*args, condition=True, **kwargs)
-
LogWarning
(*args, condition=True, **kwargs)
-
Logger
Return the local logger instance.
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskYes_NoPass
(question, indent=1) Ask a yes/NO/pass question.
-
_Ask_YesNoPass
(question, indent=1) Ask a YES/no/pass question.
-
_PrintAvailableEditions
(editions, selectedEdition) Print all available editions and return the selected index.
-
_TryLog
(*args, condition=True, **kwargs)
-
-
class
pyIPCMI.ToolChain.
Configurator
(host: pyIPCMI.Base.IHost)[source] A instance of this class controls the interactive configuration process.
Inheritance
Members
-
ConfigureAll
()[source] Select all tool chains for configuration
-
ConfigureTool
(toolChain)[source] Select tool chains for configuration.
-
InitializeConfiguration
()[source] Initialize pyIPCMI’s configuration with empty sections.
The list of sections is gathered from all enabled configurators’
_template
fields.
-
UpdateConfiguration
()[source] Update an existing configuration e.g. after a pyIPCMI update.
-
_ConfigureTools
(configurators)[source] Run the configuration routines for a list of configurators
-
_ConfigurationLoop
(configurator)[source] Retry to configure a vendor or tool until it succeeds or the user presses P to pass a configuration step.
A :py:exec:`KeyboardInterrupt` should be handled in a calling method.
-
ConfigureDefaultTools
()[source]
-
_ConfigureDefaultTools
()[source]
-
_WriteConfigurationHeader
()[source] Write a header containing general information about the configuration and list allowed input values for yes/no/pass questions.
-
_AskConfigureDefaultTools
()[source] Ask if default tools should be configured now.
-
Relocated
()[source]
-
Log
(entry, condition=True) Write an entry to the local logger.
-
LogDebug
(*args, condition=True, **kwargs)
-
LogDryRun
(*args, condition=True, **kwargs)
-
LogError
(*args, condition=True, **kwargs)
-
LogFatal
(*args, condition=True, **kwargs)
-
LogInfo
(*args, condition=True, **kwargs)
-
LogNormal
(*args, condition=True, **kwargs)
-
LogQuiet
(*args, condition=True, **kwargs)
-
LogVerbose
(*args, condition=True, **kwargs)
-
LogWarning
(*args, condition=True, **kwargs)
-
Logger
Return the local logger instance.
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskYes_NoPass
(question, indent=1) Ask a yes/NO/pass question.
-
_Ask_YesNoPass
(question, indent=1) Ask a YES/no/pass question.
-
_PrintAvailableEditions
(editions, selectedEdition) Print all available editions and return the selected index.
-
_TryLog
(*args, condition=True, **kwargs)
-