Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
HLTrigger
Configuration
scripts
extend_argparse.py
Go to the documentation of this file.
1
import
argparse
as
_argparse
2
import
textwrap
as
_textwrap
3
4
# argparse's formatters remove newlines from comand descriptions, so we define a new one
5
class
HelpFormatterRespectNewlines
(_argparse.HelpFormatter):
6
"""Help message formatter which retains line breaks in argument descriptions.
7
8
Only the name of this class is considered a public API. All the methods
9
provided by the class are considered an implementation detail.
10
"""
11
12
def
_split_lines
(self, text, width):
13
lines = []
14
for
line
in
text.splitlines():
15
line = self._whitespace_matcher.sub(
' '
, line).strip()
16
lines.extend( _textwrap.wrap(line, width) )
17
return
lines
18
19
# argparse's formatters are not really able to discover the terminale size, so we override them
20
def
FixedWidthFormatter
(formatter, width):
21
"""Adaptor for argparse formatters using an explicit fixed width
22
"""
23
def
f
(*args, **keywords):
24
# add or replace the "width" parameter
25
keywords[
'width'
] = width
26
return
formatter(*args, **keywords)
27
28
return
f
29
extend_argparse.FixedWidthFormatter
def FixedWidthFormatter
Definition:
extend_argparse.py:20
f
double f[11][100]
Definition:
MuScleFitUtils.cc:78
extend_argparse.HelpFormatterRespectNewlines._split_lines
def _split_lines
Definition:
extend_argparse.py:12
extend_argparse.HelpFormatterRespectNewlines
Definition:
extend_argparse.py:5
Generated for CMSSW Reference Manual by
1.8.5