autopep8 formatting

This commit is contained in:
Daniel Marjamäki 2013-10-18 17:35:59 +02:00
parent f8710cb984
commit 88447385c2
5 changed files with 142 additions and 98 deletions

View File

@ -130,7 +130,9 @@ _UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args'
# Utility functions and classes # Utility functions and classes
# ============================= # =============================
class _AttributeHolder(object): class _AttributeHolder(object):
"""Abstract base class that provides __repr__. """Abstract base class that provides __repr__.
The __repr__ method returns a string in the format:: The __repr__ method returns a string in the format::
@ -166,6 +168,7 @@ def _ensure_value(namespace, name, value):
# =============== # ===============
class HelpFormatter(object): class HelpFormatter(object):
"""Formatter for generating usage messages and argument help strings. """Formatter for generating usage messages and argument help strings.
Only the name of this class is considered a public API. All the methods Only the name of this class is considered a public API. All the methods
@ -646,6 +649,7 @@ class HelpFormatter(object):
class RawDescriptionHelpFormatter(HelpFormatter): class RawDescriptionHelpFormatter(HelpFormatter):
"""Help message formatter which retains any formatting in descriptions. """Help message formatter which retains any formatting in descriptions.
Only the name of this class is considered a public API. All the methods Only the name of this class is considered a public API. All the methods
@ -657,6 +661,7 @@ class RawDescriptionHelpFormatter(HelpFormatter):
class RawTextHelpFormatter(RawDescriptionHelpFormatter): class RawTextHelpFormatter(RawDescriptionHelpFormatter):
"""Help message formatter which retains formatting of all help text. """Help message formatter which retains formatting of all help text.
Only the name of this class is considered a public API. All the methods Only the name of this class is considered a public API. All the methods
@ -668,6 +673,7 @@ class RawTextHelpFormatter(RawDescriptionHelpFormatter):
class ArgumentDefaultsHelpFormatter(HelpFormatter): class ArgumentDefaultsHelpFormatter(HelpFormatter):
"""Help message formatter which adds default values to argument help. """Help message formatter which adds default values to argument help.
Only the name of this class is considered a public API. All the methods Only the name of this class is considered a public API. All the methods
@ -702,6 +708,7 @@ def _get_action_name(argument):
class ArgumentError(Exception): class ArgumentError(Exception):
"""An error from creating or using an argument (optional or positional). """An error from creating or using an argument (optional or positional).
The string value of this exception is the message, augmented with The string value of this exception is the message, augmented with
@ -722,6 +729,7 @@ class ArgumentError(Exception):
class ArgumentTypeError(Exception): class ArgumentTypeError(Exception):
"""An error from trying to convert a command line string to a type.""" """An error from trying to convert a command line string to a type."""
pass pass
@ -731,6 +739,7 @@ class ArgumentTypeError(Exception):
# ============== # ==============
class Action(_AttributeHolder): class Action(_AttributeHolder):
"""Information about how to convert command line strings to Python objects. """Information about how to convert command line strings to Python objects.
Action objects are used by an ArgumentParser to represent the information Action objects are used by an ArgumentParser to represent the information
@ -1108,7 +1117,8 @@ class _SubParsersAction(Action):
# parse all the remaining options into the namespace # parse all the remaining options into the namespace
# store any unrecognized options on the object, so that the top # store any unrecognized options on the object, so that the top
# level parser can decide what to do with them # level parser can decide what to do with them
namespace, arg_strings = parser.parse_known_args(arg_strings, namespace) namespace, arg_strings = parser.parse_known_args(
arg_strings, namespace)
if arg_strings: if arg_strings:
vars(namespace).setdefault(_UNRECOGNIZED_ARGS_ATTR, []) vars(namespace).setdefault(_UNRECOGNIZED_ARGS_ATTR, [])
getattr(namespace, _UNRECOGNIZED_ARGS_ATTR).extend(arg_strings) getattr(namespace, _UNRECOGNIZED_ARGS_ATTR).extend(arg_strings)
@ -1119,6 +1129,7 @@ class _SubParsersAction(Action):
# ============== # ==============
class FileType(object): class FileType(object):
"""Factory for creating file object types """Factory for creating file object types
Instances of FileType are typically passed as type= arguments to the Instances of FileType are typically passed as type= arguments to the
@ -1161,7 +1172,9 @@ class FileType(object):
# Optional and Positional Parsing # Optional and Positional Parsing
# =========================== # ===========================
class Namespace(_AttributeHolder): class Namespace(_AttributeHolder):
"""Simple object for storing attributes. """Simple object for storing attributes.
Implements equality by attribute names and values, and provides a simple Implements equality by attribute names and values, and provides a simple
@ -1263,7 +1276,6 @@ class _ActionsContainer(object):
return action.default return action.default
return self._defaults.get(dest, None) return self._defaults.get(dest, None)
# ======================= # =======================
# Adding argument actions # Adding argument actions
# ======================= # =======================
@ -1535,6 +1547,7 @@ class _MutuallyExclusiveGroup(_ArgumentGroup):
class ArgumentParser(_AttributeHolder, _ActionsContainer): class ArgumentParser(_AttributeHolder, _ActionsContainer):
"""Object for parsing command line strings into Python objects. """Object for parsing command line strings into Python objects.
Keyword Arguments: Keyword Arguments:

View File

@ -2,6 +2,7 @@
import os import os
import sys import sys
def readdate(data): def readdate(data):
datepos = -1 datepos = -1
if data[:5] == 'DATE ': if data[:5] == 'DATE ':
@ -62,7 +63,8 @@ for lib in range(2):
if datestr == lastupdate: if datestr == lastupdate:
recent.append(a) recent.append(a)
mainpage.write('<a href="daca2-'+a+'.html">'+a+'</a><br>\n') mainpage.write(
'<a href="daca2-' + a + '.html">' + a + '</a><br>\n')
data = data.replace('&', '&nbsp;') data = data.replace('&', '&nbsp;')
data = data.replace('<', '&lt;') data = data.replace('<', '&lt;')

View File

@ -21,6 +21,7 @@ FTPSERVER = 'ftp.sunet.se'
FTPPATH = '/pub/Linux/distributions/Debian/debian/pool/main/' FTPPATH = '/pub/Linux/distributions/Debian/debian/pool/main/'
FOLDER = 'b' FOLDER = 'b'
def handleRemoveReadonly(func, path, exc): def handleRemoveReadonly(func, path, exc):
import stat import stat
if not os.access(path, os.W_OK): if not os.access(path, os.W_OK):
@ -30,6 +31,7 @@ def handleRemoveReadonly(func, path, exc):
else: else:
raise raise
def removeAllExceptResults(): def removeAllExceptResults():
count = 5 count = 5
while count > 0: while count > 0:
@ -63,6 +65,7 @@ def removeAllExceptResults():
continue continue
count = 0 count = 0
def removeLargeFiles(path): def removeLargeFiles(path):
for g in glob.glob(path + '*'): for g in glob.glob(path + '*'):
if g == '.' or g == '..': if g == '.' or g == '..':
@ -74,6 +77,7 @@ def removeLargeFiles(path):
if statinfo.st_size > 100000: if statinfo.st_size > 100000:
os.remove(g) os.remove(g)
def scanarchive(fullpath): def scanarchive(fullpath):
results = open('results.txt', 'at') results = open('results.txt', 'at')
results.write(fullpath + '\n') results.write(fullpath + '\n')

View File

@ -27,6 +27,7 @@ import re
class Extract: class Extract:
""" """
Read Cppcheck test file and create data Read Cppcheck test file and create data
representation representation
@ -114,7 +115,8 @@ def writeHtmlFile(nodes, functionName, filename, errorsOnly):
fout.write('<head>\n') fout.write('<head>\n')
fout.write(' <style type="text/css">\n') fout.write(' <style type="text/css">\n')
fout.write(' body { font-size: 0.8em }\n') fout.write(' body { font-size: 0.8em }\n')
fout.write(' th { background-color: #A3C159; text-transform: uppercase }\n') fout.write(
' th { background-color: #A3C159; text-transform: uppercase }\n')
fout.write(' td { background-color: white; vertical-align: text-top }\n') fout.write(' td { background-color: white; vertical-align: text-top }\n')
fout.write(' pre { background-color: #EEEEEE }\n') fout.write(' pre { background-color: #EEEEEE }\n')
fout.write(' </style>\n') fout.write(' </style>\n')
@ -125,7 +127,8 @@ def writeHtmlFile(nodes, functionName, filename, errorsOnly):
if errorsOnly: if errorsOnly:
fout.write('<a href="all-' + functionName + '.htm">All test cases</a>') fout.write('<a href="all-' + functionName + '.htm">All test cases</a>')
else: else:
fout.write('<a href="errors-'+functionName+'.htm">Error test cases</a>') fout.write(
'<a href="errors-' + functionName + '.htm">Error test cases</a>')
fout.write('<br><br>') fout.write('<br><br>')
testclass = None testclass = None
@ -138,13 +141,17 @@ def writeHtmlFile(nodes, functionName, filename, errorsOnly):
if not testclass: if not testclass:
testclass = node['testclass'] testclass = node['testclass']
fout.write('<h1>' + node['testclass'] + '::' + functionName + '</h1>') fout.write(
'<h1>' + node['testclass'] + '::' + functionName + '</h1>')
fout.write('<table border="0" cellspacing="0">\n') fout.write('<table border="0" cellspacing="0">\n')
fout.write(' <tr><th>Nr</th><th>Code</th><th>Expected</th></tr>\n') fout.write(
' <tr><th>Nr</th><th>Code</th><th>Expected</th></tr>\n')
fout.write(' <tr><td>' + str(num) + '</td>') fout.write(' <tr><td>' + str(num) + '</td>')
fout.write('<td><pre>' + strtoxml(node['code']).replace('\\n', '\n') + '</pre></td>') fout.write('<td><pre>' + strtoxml(
fout.write('<td>' + strtoxml(node['expected']).replace('\\n', '<br>') + '</td>') node['code']).replace('\\n', '\n') + '</pre></td>')
fout.write(
'<td>' + strtoxml(node['expected']).replace('\\n', '<br>') + '</td>')
fout.write('</tr>\n') fout.write('</tr>\n')
if testclass is not None: if testclass is not None:
@ -155,7 +162,8 @@ def writeHtmlFile(nodes, functionName, filename, errorsOnly):
if len(sys.argv) <= 1 or '--help' in sys.argv: if len(sys.argv) <= 1 or '--help' in sys.argv:
print ('Extract test cases from test file') print ('Extract test cases from test file')
print ('Syntax: extracttests.py [--html=folder] [--xml] [--code=folder] path/testfile.cpp') print (
'Syntax: extracttests.py [--html=folder] [--xml] [--code=folder] path/testfile.cpp')
sys.exit(0) sys.exit(0)
# parse command line # parse command line
@ -206,8 +214,10 @@ if filename is not None:
findex.write('<head>\n') findex.write('<head>\n')
findex.write(' <style type="text/css">\n') findex.write(' <style type="text/css">\n')
findex.write(' table { font-size: 0.8em }\n') findex.write(' table { font-size: 0.8em }\n')
findex.write(' th { background-color: #A3C159; text-transform: uppercase }\n') findex.write(
findex.write(' td { background-color: #F0FFE0; vertical-align: text-top }\n') ' th { background-color: #A3C159; text-transform: uppercase }\n')
findex.write(
' td { background-color: #F0FFE0; vertical-align: text-top }\n')
findex.write(' A:link { text-decoration: none }\n') findex.write(' A:link { text-decoration: none }\n')
findex.write(' A:visited { text-decoration: none }\n') findex.write(' A:visited { text-decoration: none }\n')
findex.write(' A:active { text-decoration: none }\n') findex.write(' A:active { text-decoration: none }\n')
@ -238,8 +248,10 @@ if filename is not None:
if numerr == 0: if numerr == 0:
findex.write('<td><div align="right">0</div></td>') findex.write('<td><div align="right">0</div></td>')
else: else:
findex.write('<td><a href="errors-'+functionname+'.htm"><div align="right">' + str(numerr) + '</div></a></td>') findex.write('<td><a href="errors-' + functionname +
findex.write('<td><a href="all-'+functionname+'.htm"><div align="right">' + str(numall) + '</div></a></td>') '.htm"><div align="right">' + str(numerr) + '</div></a></td>')
findex.write('<td><a href="all-' + functionname +
'.htm"><div align="right">' + str(numall) + '</div></a></td>')
findex.write('</tr>\n') findex.write('</tr>\n')
findex.write('</table>\n') findex.write('</table>\n')
@ -291,7 +303,8 @@ if filename is not None:
if expected != '': if expected != '':
expected = expected.replace('\\n', '\n') expected = expected.replace('\\n', '\n')
expected = expected.replace('\\"', '"') expected = expected.replace('\\"', '"')
expected = re.sub('\\[test.cp?p?:', '['+filename+':', expected) expected = re.sub(
'\\[test.cp?p?:', '[' + filename + ':', expected)
errors.write(expected) errors.write(expected)
errors.close() errors.close()
else: else:

View File

@ -21,13 +21,17 @@ import matchcompiler
class MatchCompilerTest(unittest.TestCase): class MatchCompilerTest(unittest.TestCase):
def setUp(self): def setUp(self):
self.mc = matchcompiler.MatchCompiler(verify_mode=False) self.mc = matchcompiler.MatchCompiler(verify_mode=False)
def test_parseMatch(self): def test_parseMatch(self):
self.assertEqual(self.mc.parseMatch(' Token::Match(tok, ";") ', 2), ['Token::Match(tok, ";")', 'tok', ' ";"']) self.assertEqual(self.mc.parseMatch(' Token::Match(tok, ";") ', 2), [
self.assertEqual(self.mc.parseMatch(' Token::Match(tok,', 2), None) # multiline Token::Match is not supported yet 'Token::Match(tok, ";")', 'tok', ' ";"'])
self.assertEqual(self.mc.parseMatch(' Token::Match(Token::findsimplematch(tok,")"), ";")', 2), ['Token::Match(Token::findsimplematch(tok,")"), ";")', 'Token::findsimplematch(tok,")")', ' ";"']) # inner function call self.assertEqual(self.mc.parseMatch(' Token::Match(tok,', 2), None)
# multiline Token::Match is not supported yet
self.assertEqual(self.mc.parseMatch(' Token::Match(Token::findsimplematch(tok,")"), ";")', 2), [
'Token::Match(Token::findsimplematch(tok,")"), ";")', 'Token::findsimplematch(tok,")")', ' ";"']) # inner function call
def test_replaceTokenMatch(self): def test_replaceTokenMatch(self):
input = 'if (Token::Match(tok, "foobar")) {' input = 'if (Token::Match(tok, "foobar")) {'
@ -44,7 +48,8 @@ class MatchCompilerTest(unittest.TestCase):
input = 'if (Token::Match(tok, "foo\"special\"bar %num%")) {' input = 'if (Token::Match(tok, "foo\"special\"bar %num%")) {'
output = self.mc._replaceTokenMatch(input) output = self.mc._replaceTokenMatch(input)
# FIXME: Currently detected as non-static pattern # FIXME: Currently detected as non-static pattern
self.assertEqual(output, 'if (Token::Match(tok, "foo"special"bar %num%")) {') self.assertEqual(
output, 'if (Token::Match(tok, "foo"special"bar %num%")) {')
# self.assertEqual(3, len(self.mc._matchStrs)) # self.assertEqual(3, len(self.mc._matchStrs))
def test_replaceTokenMatchWithVarId(self): def test_replaceTokenMatchWithVarId(self):
@ -55,13 +60,15 @@ class MatchCompilerTest(unittest.TestCase):
input = 'if (Token::Match(tok->next()->next(), "%varid% foobar", tok->varId())) {' input = 'if (Token::Match(tok->next()->next(), "%varid% foobar", tok->varId())) {'
output = self.mc._replaceTokenMatch(input) output = self.mc._replaceTokenMatch(input)
self.assertEqual(output, 'if (match2(tok->next()->next(), tok->varId())) {') self.assertEqual(
output, 'if (match2(tok->next()->next(), tok->varId())) {')
self.assertEqual(1, len(self.mc._matchStrs)) self.assertEqual(1, len(self.mc._matchStrs))
input = 'if (Token::Match(tok, "foo\"special\"bar %type% %varid%", my_varid_cache)) {' input = 'if (Token::Match(tok, "foo\"special\"bar %type% %varid%", my_varid_cache)) {'
output = self.mc._replaceTokenMatch(input) output = self.mc._replaceTokenMatch(input)
# FIXME: Currently detected as non-static pattern # FIXME: Currently detected as non-static pattern
self.assertEqual(output, 'if (Token::Match(tok, "foo"special"bar %type% %varid%", my_varid_cache)) {') self.assertEqual(
output, 'if (Token::Match(tok, "foo"special"bar %type% %varid%", my_varid_cache)) {')
# self.assertEqual(1, len(self.mc._matchStrs)) # self.assertEqual(1, len(self.mc._matchStrs))
# test caching: reuse existing matchX() # test caching: reuse existing matchX()
@ -92,7 +99,8 @@ class MatchCompilerTest(unittest.TestCase):
input = 'if (Token::simpleMatch(tok, "foo\"special\"bar")) {' input = 'if (Token::simpleMatch(tok, "foo\"special\"bar")) {'
output = self.mc._replaceTokenMatch(input) output = self.mc._replaceTokenMatch(input)
# FIXME: Currently detected as non-static pattern # FIXME: Currently detected as non-static pattern
self.assertEqual(output, 'if (Token::simpleMatch(tok, "foo\"special\"bar")) {') self.assertEqual(
output, 'if (Token::simpleMatch(tok, "foo\"special\"bar")) {')
self.assertEqual(1, len(self.mc._matchStrs)) self.assertEqual(1, len(self.mc._matchStrs))
def test_replaceTokenFindSimpleMatch(self): def test_replaceTokenFindSimpleMatch(self):
@ -104,14 +112,16 @@ class MatchCompilerTest(unittest.TestCase):
input = 'if (Token::findsimplematch(tok->next()->next(), "foobar", tok->link())) {' input = 'if (Token::findsimplematch(tok->next()->next(), "foobar", tok->link())) {'
output = self.mc._replaceTokenFindMatch(input) output = self.mc._replaceTokenFindMatch(input)
self.assertEqual(output, 'if (findmatch2(tok->next()->next(), tok->link())) {') self.assertEqual(
output, 'if (findmatch2(tok->next()->next(), tok->link())) {')
self.assertEqual(1, len(self.mc._matchStrs)) self.assertEqual(1, len(self.mc._matchStrs))
self.assertEqual(1, self.mc._matchStrs['foobar']) self.assertEqual(1, self.mc._matchStrs['foobar'])
input = 'if (Token::findsimplematch(tok, "foo\"special\"bar")) {' input = 'if (Token::findsimplematch(tok, "foo\"special\"bar")) {'
output = self.mc._replaceTokenFindMatch(input) output = self.mc._replaceTokenFindMatch(input)
# FIXME: Currently detected as non-static pattern # FIXME: Currently detected as non-static pattern
self.assertEqual(output, 'if (Token::findsimplematch(tok, "foo\"special\"bar")) {') self.assertEqual(
output, 'if (Token::findsimplematch(tok, "foo\"special\"bar")) {')
self.assertEqual(1, len(self.mc._matchStrs)) self.assertEqual(1, len(self.mc._matchStrs))
def test_replaceTokenFindMatch(self): def test_replaceTokenFindMatch(self):
@ -131,14 +141,16 @@ class MatchCompilerTest(unittest.TestCase):
# findmatch with end token # findmatch with end token
input = 'if (Token::findmatch(tok->next()->next(), "foobar %type%", tok->link())) {' input = 'if (Token::findmatch(tok->next()->next(), "foobar %type%", tok->link())) {'
output = self.mc._replaceTokenFindMatch(input) output = self.mc._replaceTokenFindMatch(input)
self.assertEqual(output, 'if (findmatch3(tok->next()->next(), tok->link())) {') self.assertEqual(
output, 'if (findmatch3(tok->next()->next(), tok->link())) {')
self.assertEqual(2, len(self.mc._matchStrs)) self.assertEqual(2, len(self.mc._matchStrs))
self.assertEqual(1, self.mc._matchStrs['foobar']) self.assertEqual(1, self.mc._matchStrs['foobar'])
# findmatch with end token and varid # findmatch with end token and varid
input = 'if (Token::findmatch(tok->next()->next(), "foobar %type% %varid%", tok->link(), 123)) {' input = 'if (Token::findmatch(tok->next()->next(), "foobar %type% %varid%", tok->link(), 123)) {'
output = self.mc._replaceTokenFindMatch(input) output = self.mc._replaceTokenFindMatch(input)
self.assertEqual(output, 'if (findmatch4(tok->next()->next(), tok->link(), 123)) {') self.assertEqual(
output, 'if (findmatch4(tok->next()->next(), tok->link(), 123)) {')
self.assertEqual(2, len(self.mc._matchStrs)) self.assertEqual(2, len(self.mc._matchStrs))
self.assertEqual(1, self.mc._matchStrs['foobar']) self.assertEqual(1, self.mc._matchStrs['foobar'])