Commit 7e200c2a authored by Łukasz Nowak's avatar Łukasz Nowak

Merge branch 'master' into certificate_authority

parents 6ddfc3ad ec48a173
...@@ -57,11 +57,10 @@ class DiffFile(object): ...@@ -57,11 +57,10 @@ class DiffFile(object):
""" """
def __init__(self, raw_diff): def __init__(self, raw_diff):
if '@@' not in raw_diff: self.children = []
self.binary = True self.binary = raw_diff and '@@' not in raw_diff
if self.binary or not raw_diff:
return return
else:
self.binary = False
self.header = raw_diff.split('@@')[0][:-1] self.header = raw_diff.split('@@')[0][:-1]
# Getting file path in header # Getting file path in header
self.path = self.header.split('====')[0][:-1].strip() self.path = self.header.split('====')[0][:-1].strip()
...@@ -84,7 +83,6 @@ class DiffFile(object): ...@@ -84,7 +83,6 @@ class DiffFile(object):
if not self.body.startswith('@@'): if not self.body.startswith('@@'):
self.body = os.linesep.join(raw_diff.strip().splitlines()[4:]) self.body = os.linesep.join(raw_diff.strip().splitlines()[4:])
# Now splitting modifications # Now splitting modifications
self.children = []
first = True first = True
tmp = [] tmp = []
for line in self.body.splitlines(): for line in self.body.splitlines():
...@@ -97,6 +95,9 @@ class DiffFile(object): ...@@ -97,6 +95,9 @@ class DiffFile(object):
tmp.append(line) tmp.append(line)
self.children.append(CodeBlock(os.linesep.join(tmp))) self.children.append(CodeBlock(os.linesep.join(tmp)))
def __nonzero__(self):
return self.binary or bool(self.children)
def __len__(self): def __len__(self):
return len(self.children) return len(self.children)
......
...@@ -556,6 +556,10 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase): ...@@ -556,6 +556,10 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
"""Invoke debugger""" """Invoke debugger"""
try: # try ipython if available try: # try ipython if available
import IPython import IPython
try:
IPython.InteractiveShell()
tracer = IPython.core.debugger.Tracer()
except AttributeError: # for ipython-0.10 or before
IPython.Shell.IPShell(argv=[]) IPython.Shell.IPShell(argv=[])
tracer = IPython.Debugger.Tracer() tracer = IPython.Debugger.Tracer()
except ImportError: except ImportError:
...@@ -563,8 +567,12 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase): ...@@ -563,8 +567,12 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
tracer() tracer()
def stepIPython(self, sequence=None, sequence_list=None): def stepIPython(self, sequence=None, sequence_list=None):
import IPython.Shell import IPython
IPython.Shell.IPShellEmbed(())() try:
ipshell = IPython.frontend.terminal.embed.InteractiveShellEmbed()
except AttributeError: # for ipython-0.10 or before
ipshell = IPython.Shell.IPShellEmbed(())
ipshell()
def stepTic(self, **kw): def stepTic(self, **kw):
""" """
......
...@@ -217,8 +217,10 @@ class Git(WorkingCopy): ...@@ -217,8 +217,10 @@ class Git(WorkingCopy):
template = 'Index: %%s\n%s%%s\n' % ('=' * 67) template = 'Index: %%s\n%s%%s\n' % ('=' * 67)
for diff in out: for diff in out:
path = diff[:diff.index(' ')] path = diff[:diff.index(' ')]
# XXX: the following line fails if only the file mode changes try:
diff_dict[path] = template % (path, diff[diff.index('\n---'):]) diff_dict[path] = template % (path, diff[diff.index('\n---'):])
except ValueError:
pass # empty file is deleted or only file mode is changed
return stat_dict, diff_dict return stat_dict, diff_dict
def getModifiedTree(self, show_unmodified=False): def getModifiedTree(self, show_unmodified=False):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment