Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _get_changes_made_by_old_class(self, dest_attr, new_name):
pymodule = self.pyfunction.get_module()
indents = self._get_scope_indents(self.pyfunction)
body = 'return self.%s.%s(%s)\n' % (
dest_attr, new_name, self._get_passed_arguments_string())
region = sourceutils.get_body_region(self.pyfunction)
return (pymodule.get_resource(), region[0], region[1],
sourceutils.fix_indentation(body, indents))
if not occurrence.is_called():
raise rope.base.exceptions.RefactoringError(
'Reference to inlining function other than function call'
' in ' % (self.resource.path, start))
if self.aim is not None and (self.aim < start or self.aim > end):
return
end_parens = self._find_end_parens(self.source, end - 1)
lineno = self.lines.get_line_number(start)
start_line, end_line = self.pymodule.logical_lines.\
logical_line_in(lineno)
line_start = self.lines.get_line_start(start_line)
line_end = self.lines.get_line_end(end_line)
returns = self.source[line_start:start].strip() != '' or \
self.source[end_parens:line_end].strip() != ''
indents = sourceutils.get_indents(self.lines, start_line)
primary, pyname = occurrence.get_primary_and_pyname()
host = self.pymodule
scope = host.scope.get_inner_scope_for_line(lineno)
definition, returned = self.generator.get_definition(
primary, pyname, self.source[start:end_parens], scope.get_names(),
returns=returns)
end = min(line_end + 1, len(self.source))
change_collector.add_change(
line_start, end, sourceutils.fix_indentation(definition, indents))
if returns:
name = returned
if name is None:
name = 'None'
change_collector.add_change(
def _get_function_definition(self):
args = self._find_function_arguments()
returns = self._find_function_returns()
result = []
if self.info.method and not self.info.make_global and \
_get_function_kind(self.info.scope) != 'method':
result.append('@staticmethod\n')
result.append('def %s:\n' % self._get_function_signature(args))
unindented_body = self._get_unindented_function_body(returns)
indents = sourceutils.get_indent(self.info.project)
function_body = sourceutils.indent_lines(unindented_body, indents)
result.append(function_body)
definition = ''.join(result)
return definition + '\n'
line_end = self.lines.get_line_end(end_line)
returns = self.source[line_start:start].strip() != '' or \
self.source[end_parens:line_end].strip() != ''
indents = sourceutils.get_indents(self.lines, start_line)
primary, pyname = occurrence.get_primary_and_pyname()
host = self.pycore.resource_to_pyobject(self.resource)
scope = host.scope.get_inner_scope_for_line(lineno)
definition, returned = self.generator.get_definition(
primary, pyname, self.source[start:end_parens], scope.get_names(), returns=returns)
end = min(line_end + 1, len(self.source))
change_collector.add_change(line_start, end,
sourceutils.fix_indentation(definition, indents))
if returns:
name = returned
if name is None:
name = 'None'
change_collector.add_change(
line_end, end, self.source[line_start:start] + name +
self.source[end_parens:end])
def _get_function_definition(self):
args = self._find_function_arguments()
returns = self._find_function_returns()
result = []
if self.info.method and not self.info.make_global and \
_get_function_kind(self.info.scope) != 'method':
result.append('@staticmethod\n')
result.append('def %s:\n' % self._get_function_signature(args))
unindented_body = self._get_unindented_function_body(returns)
indents = sourceutils.get_indent(self.info.project)
function_body = sourceutils.indent_lines(unindented_body, indents)
result.append(function_body)
definition = ''.join(result)
return definition + '\n'
def _get_function_definition(self):
args = self._find_function_arguments()
returns = self._find_function_returns()
result = []
if self.info.method and not self.info.make_global and \
_get_function_kind(self.info.scope) != 'method':
result.append('@staticmethod\n')
result.append('def %s:\n' % self._get_function_signature(args))
unindented_body = self._get_unindented_function_body(returns)
indents = sourceutils.get_indent(self.info.pycore)
function_body = sourceutils.indent_lines(unindented_body, indents)
result.append(function_body)
definition = ''.join(result)
return definition + '\n'
def indents(self):
return sourceutils.get_indents(self.pymodule.lines,
self.region_lines[0])
def _get_factory_method(self, lines, class_scope,
factory_name, global_):
unit_indents = ' ' * sourceutils.get_indent(self.pycore)
if global_:
if self._get_scope_indents(lines, class_scope) > 0:
raise rope.base.exceptions.RefactoringError(
'Cannot make global factory method for nested classes.')
return ('\ndef %s(*args, **kwds):\n%sreturn %s(*args, **kwds)\n' %
(factory_name, unit_indents, self.old_name))
unindented_factory = \
('@staticmethod\ndef %s(*args, **kwds):\n' % factory_name +
'%sreturn %s(*args, **kwds)\n' % (unit_indents, self.old_name))
indents = self._get_scope_indents(lines, class_scope) + \
sourceutils.get_indent(self.pycore)
return '\n' + sourceutils.indent_lines(unindented_factory, indents)
def _get_factory_method(self, lines, class_scope,
factory_name, global_):
unit_indents = ' ' * sourceutils.get_indent(self.pycore)
if global_:
if self._get_scope_indents(lines, class_scope) > 0:
raise rope.base.exceptions.RefactoringError(
'Cannot make global factory method for nested classes.')
return ('\ndef %s(*args, **kwds):\n%sreturn %s(*args, **kwds)\n' %
(factory_name, unit_indents, self.old_name))
unindented_factory = \
('@staticmethod\ndef %s(*args, **kwds):\n' % factory_name +
'%sreturn %s(*args, **kwds)\n' % (unit_indents, self.old_name))
indents = self._get_scope_indents(lines, class_scope) + \
sourceutils.get_indent(self.pycore)
return '\n' + sourceutils.indent_lines(unindented_factory, indents)
def find_indents(self):
if self.info.variable and not self.info.make_global:
return sourceutils.get_indents(self.info.lines,
self._get_before_line())
else:
if self.info.global_ or self.info.make_global:
return 0
return self.info.scope_indents