pyIPCMI.ToolChain.Git.py¶
Exceptions
GitException
: Base class for all tool specific exceptions
Classes
Configuration
: Base class for all tool Configuration classes.Git
: Undocumented.GitSCM
: Represent an executable.GitRevParse
: Represent an executable.GitRevList
: Represent an executable.GitDescribe
: Represent an executable.GitConfig
: Represent an executable.
-
exception
pyIPCMI.ToolChain.Git.
GitException
(message='')[source] Inheritance
Members
-
__init__
(message='') Exception initializer
Parameters: message (str) – The exception message.
-
__str__
() Returns the exception’s message text.
-
args
-
-
class
pyIPCMI.ToolChain.Git.
Configuration
(host)[source] Inheritance
Members
-
_vendor
= 'Git SCM' The name of the tools vendor.
-
_toolName
= 'Git' The name of the tool.
-
_section
= 'INSTALL.Git' The name of the configuration section. Pattern:
INSTALL.Vendor.ToolName
.
-
_template
= {'Linux': {'INSTALL.Git': {'Version': '2.8.1', 'InstallationDirectory': '/usr/bin', 'BinaryDirectory': '${InstallationDirectory}', 'HasInstalledGitHooks': 'False', 'HasInstalledGitFilters': 'False'}}, 'Windows': {'INSTALL.Git': {'Version': '2.12.2', 'InstallationDirectory': 'C:/Program Files/Git', 'BinaryDirectory': '${InstallationDirectory}/cmd', 'HasInstalledGitHooks': 'False', 'HasInstalledGitFilters': 'False'}}} The template for the configuration sections represented as nested dictionaries.
-
ConfigureForAll
()[source] Start a generic (platform independent) configuration procedure.
Overwrite this method to implement a generic configuration routine for a (tool) Configuration class.
-
_GetDefaultInstallationDirectory
()[source] Return unresolved default installation directory (str) from template.
Overwrite function in sub-class for automatic search of installation directory.
-
RunPostConfigurationTasks
()[source] Virtual method. Overwrite to execute post-configuration tasks.
-
CheckDependency
()[source] Check if all vendor or tool dependencies are fulfilled to configure this tool.
-
ClearSection
(writeWarnings=False)[source] Clear the configuration section associated to this Configuration class.
-
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.
-
classmethod
GetSections
(platform)[source] Return all section names for this configuration.
-
Host
Return the hosting object.
-
IsConfigured
()[source] Return true if the configurations section is configured
-
IsSupportedPlatform
()[source] 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)[source]
-
PrepareSections
(warningWasWritten, writeWarnings=True)[source]
-
PrepareVersionedSections
(writeWarnings=False)
-
SectionName
Return the configuration’s section name.
-
State
Return the configuration state.
-
_Ask
(question, default, beforeDefault='', afterDefault='', indent=1)
-
_AskInstalled
(question)[source] 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.
-
_Configuration__GetGitDirectory
()
-
_Configuration__InstallGitFilters
()
-
_Configuration__InstallGitHooks
()
-
_Configuration__IsUnderGitControl
()
-
_Configuration__UninstallGitFilters
()
-
_Configuration__UninstallGitHooks
()
-
_Configuration__WriteGitSection
(binPath)
-
_ConfigureBinaryDirectory
() Updates section with value from
_template
and returns directory asPath
object.
-
_ConfigureEdition
(editions, defaultEdition)
-
_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.
-
_ConfigureVersion
() If no version was configured before, then _GetDefaultVersion is called. Asks for version and updates section. Returns version as string.
-
_GetDefaultEdition
() Returns unresolved default edition (str) from template.
Overwrite this method in a sub-class for automatic search of editions.
-
_GetDefaultOptionValue
(optionName)[source]
-
_GetDefaultVersion
() Returns unresolved default version (str) from template.
Overwrite this method in a sub-class for automatic search of version.
-
_PrintAvailableEditions
(editions, selectedEdition) Print all available editions and return the selected index.
-
_TestDefaultInstallPath
(defaults)[source] Helper function for automatic search of installation directory.
-
_TryLog
(*args, condition=True, **kwargs)
-
_multiVersionSupport
= False
-
-
class
pyIPCMI.ToolChain.Git.
Git
(platform, dryrun, binaryDirectoryPath, version, logger=None)[source] Inheritance
Members
-
GetGitRevParse
()[source]
-
GetGitRevList
()[source]
-
GetGitDescribe
()[source]
-
GetGitConfig
()[source]
-
-
class
pyIPCMI.ToolChain.Git.
GitSCM
(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear
()[source]
-
class
Executable
[source]
-
class
Switch_Version
[source] -
_name
= 'version'
-
-
Parameters
= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
GetReader
()
-
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.
-
Path
-
ReadUntilBoundary
(indent=0)
-
Send
(line, end='\n')
-
SendBoundary
()
-
StartProcess
(parameterList)
-
Terminate
()
-
_TryLog
(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY
= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.
GitRevParse
(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear
()[source]
-
class
Command
[source] -
_name
= 'rev-parse'
-
-
class
SwitchInsideWorkingTree
[source] -
_name
= 'is-inside-work-tree'
-
-
class
SwitchShowTopLevel
[source] -
_name
= 'show-toplevel'
-
-
class
SwitchGitDir
[source] -
_name
= 'git-dir'
-
-
RevParseParameters
= [<class 'pyIPCMI.ToolChain.Git.GitRevParse.Command'>, <class 'pyIPCMI.ToolChain.Git.GitRevParse.SwitchInsideWorkingTree'>, <class 'pyIPCMI.ToolChain.Git.GitRevParse.SwitchShowTopLevel'>, <class 'pyIPCMI.ToolChain.Git.GitRevParse.SwitchGitDir'>]
-
Execute
()[source]
-
class
Executable
-
GetReader
()
-
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.
-
Parameters
= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary
(indent=0)
-
Send
(line, end='\n')
-
SendBoundary
()
-
StartProcess
(parameterList)
-
class
Switch_Version
-
_name
= 'version'
-
-
Terminate
()
-
_TryLog
(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY
= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.
GitRevList
(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear
()[source]
-
class
Command
[source] -
_name
= 'rev-list'
-
-
class
SwitchTags
[source] -
_name
= 'tags'
-
-
class
SwitchMaxCount
[source] -
_name
= 'max-count'
-
-
RevListParameters
= [<class 'pyIPCMI.ToolChain.Git.GitRevList.Command'>, <class 'pyIPCMI.ToolChain.Git.GitRevList.SwitchTags'>, <class 'pyIPCMI.ToolChain.Git.GitRevList.SwitchMaxCount'>]
-
Execute
()[source]
-
class
Executable
-
GetReader
()
-
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.
-
Parameters
= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary
(indent=0)
-
Send
(line, end='\n')
-
SendBoundary
()
-
StartProcess
(parameterList)
-
class
Switch_Version
-
_name
= 'version'
-
-
Terminate
()
-
_TryLog
(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY
= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.
GitDescribe
(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear
()[source]
-
class
Command
[source] -
_name
= 'describe'
-
-
class
SwitchAbbrev
[source] -
_name
= 'abbrev'
-
-
class
SwitchTags
[source] -
_name
= 'tags'
-
-
DescribeParameters
= [<class 'pyIPCMI.ToolChain.Git.GitDescribe.Command'>, <class 'pyIPCMI.ToolChain.Git.GitDescribe.SwitchAbbrev'>, <class 'pyIPCMI.ToolChain.Git.GitDescribe.SwitchTags'>]
-
Execute
()[source]
-
class
Executable
-
GetReader
()
-
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.
-
Parameters
= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary
(indent=0)
-
Send
(line, end='\n')
-
SendBoundary
()
-
StartProcess
(parameterList)
-
class
Switch_Version
-
_name
= 'version'
-
-
Terminate
()
-
_TryLog
(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY
= '====== pyIPCMI BOUNDARY ======'
-
-
class
pyIPCMI.ToolChain.Git.
GitConfig
(toolchain: pyIPCMI.ToolChain.ToolMixIn)[source] Inheritance
Members
-
Clear
()[source]
-
class
Command
[source] -
_name
= 'config'
-
-
class
SwitchUnset
[source] -
_name
= 'unset'
-
-
class
SwitchRemoveSection
[source] -
_name
= 'remove-section'
-
-
class
ValueFilterClean
[source] -
_name
= 'clean'
-
_pattern
= 'filter.{1}.{0}'
-
-
class
ValueFilterSmudge
[source] -
_name
= 'smudge'
-
_pattern
= 'filter.{1}.{0}'
-
-
class
ValueFilterParameters
[source]
-
ConfigParameters
= [<class 'pyIPCMI.ToolChain.Git.GitConfig.Command'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.SwitchUnset'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.SwitchRemoveSection'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.ValueFilterClean'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.ValueFilterSmudge'>, <class 'pyIPCMI.ToolChain.Git.GitConfig.ValueFilterParameters'>]
-
Execute
()[source]
-
class
Executable
-
GetReader
()
-
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.
-
Parameters
= [<class 'pyIPCMI.ToolChain.Git.GitSCM.Executable'>, <class 'pyIPCMI.ToolChain.Git.GitSCM.Switch_Version'>]
-
Path
-
ReadUntilBoundary
(indent=0)
-
Send
(line, end='\n')
-
SendBoundary
()
-
StartProcess
(parameterList)
-
class
Switch_Version
-
_name
= 'version'
-
-
Terminate
()
-
_TryLog
(*args, condition=True, **kwargs)
-
_pyIPCMI_BOUNDARY
= '====== pyIPCMI BOUNDARY ======'
-