Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sourcery suggested refactorings #152

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

SourceryAI
Copy link

Sourcery refactored this code to make it cleaner and more readable.

If you want Sourcery to review the full project or all new pull requests, add Sourcery to your repo.

We try to only open PRs that are helpful. If this isn't helpful or you have any feedback for us - please let us know!

if xlwt is not None:
column.xlwt_stymat = self.xlwt_stymat_init()
else:
column.xlwt_stymat = None
column.xlwt_stymat = self.xlwt_stymat_init() if xlwt is not None else None
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function Column.new_instance refactored with the following changes:

Comment on lines -557 to +559
if arrow and isinstance(data, arrow.Arrow):
if data.strftime(format) == format:
return data.format(format)
if (
arrow
and isinstance(data, arrow.Arrow)
and data.strftime(format) == format
):
return data.format(format)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DateColumnBase._format_datetime refactored with the following changes:

Comment on lines -1589 to +1590
else:
sort_display.append(col.key)
redundant.append(col.key)
sort_display.append(col.key)
redundant.append(col.key)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function BaseGrid.query_sort refactored with the following changes:

if isinstance(obj, datetime.date) or isinstance(obj, arrow.Arrow):
if isinstance(obj, (datetime.date, arrow.Arrow)):
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function CustomJsonEncoder.default refactored with the following changes:

if data:
current_args = self.json_to_args(data)
else:
current_args = MultiDict()
current_args = self.json_to_args(data) if data else MultiDict()
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function RequestJsonLoader.get_args refactored with the following changes:

Comment on lines -344 to +341
web_session['dgsessions'] = dict()
web_session['dgsessions'] = {}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function WebSessionArgsLoader.save_session_store refactored with the following changes:

Comment on lines -409 to +407
if grid.session_on:
self.remove_grid_session(previous_args.get('session_key') or grid.session_key)
self.remove_grid_session(grid.default_session_key)
self.remove_grid_session(previous_args.get('session_key') or grid.session_key)
self.remove_grid_session(grid.default_session_key)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function WebSessionArgsLoader.get_args refactored with the following changes:

Comment on lines -458 to +464
else:
# if its not the string 'auto' and its not a formencode validator, assume
# its a callable and wrap with a formencode validator
if not hasattr(self.value_modifier, 'to_python'):
if not hasattr(self.value_modifier, '__call__'):
raise TypeError(
_('value_modifier must be the string "auto", have a "to_python" attribute, '
'or be a callable')
)
self.value_modifier = feval.Wrapper(to_python=self.value_modifier)
elif not hasattr(self.value_modifier, 'to_python'):
if not hasattr(self.value_modifier, '__call__'):
raise TypeError(
_('value_modifier must be the string "auto", have a "to_python" attribute, '
'or be a callable')
)
self.value_modifier = feval.Wrapper(to_python=self.value_modifier)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function OptionsFilterBase.setup_validator refactored with the following changes:

Comment on lines -510 to +511
if self.op in (ops.is_, ops.not_is) and not (self.value1 or self.default_op):
self.op = None
if (
self.op in (ops.is_, ops.not_is)
and not self.value1
and not self.default_op
): self.op = None
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function OptionsFilterBase.set refactored with the following changes:

  • Simplify logical expression using De Morgan identities (de-morgan)

target_date = first_day if first_day else last_day
target_date = first_day or last_day
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function _DateMixin.description refactored with the following changes:

Comment on lines -1241 to +1247
if is_value2:
if self.op in (ops.between, ops.not_between):
value = ''
else:
return None
else:
if not is_value2:
raise formencode.Invalid(gettext('invalid date'), value, self)

if self.op in (ops.between, ops.not_between):
value = ''
else:
return None
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DateFilter.process refactored with the following changes:

Comment on lines -1432 to +1437
if is_value2:
if self.op in (ops.between, ops.not_between):
value = ''
else:
return None
else:
if not is_value2:
raise formencode.Invalid(gettext('invalid date'), value, self)

if self.op in (ops.between, ops.not_between):
value = ''
else:
return None
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DateTimeFilter.process refactored with the following changes:

for col in self.columns:
if col.group:
return True

return False
return any(col.group for col in self.columns)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function GroupMixin.has_groups refactored with the following changes:

  • Use any() instead of for loop (use-any)

Comment on lines -395 to +394
rows = []
for col in six.itervalues(self.grid.filtered_cols):
rows.append(self.filtering_table_row(col))
rows = [
self.filtering_table_row(col)
for col in six.itervalues(self.grid.filtered_cols)
]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.filtering_fields refactored with the following changes:

Comment on lines -438 to +435
if not filter.is_display_active:
current_selected = ''
else:
current_selected = filter.op
current_selected = '' if not filter.is_display_active else filter.op
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function `HTML.filtering_col_op_selectz refactored with the following changes:

Comment on lines -843 to +837
headings = []
for col in self.columns:
headings.append(self.table_th(col))
headings = [self.table_th(col) for col in self.columns]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.table_column_headings refactored with the following changes:

Comment on lines -890 to +882
url_args = {}
url_args['dgreset'] = None
url_args['sort2'] = None
url_args['sort3'] = None
url_args = {'dgreset': None, 'sort2': None, 'sort3': None}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.table_th refactored with the following changes:

Comment on lines -956 to +945
if (rownum + 1) % 2 == 1:
row_hah.class_ += 'odd'
else:
row_hah.class_ += 'even'
row_hah.class_ += 'odd' if (rownum + 1) % 2 == 1 else 'even'
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.table_tr_styler refactored with the following changes:

Comment on lines -984 to +970
cells = []
for col in self.columns:
cells.append(self.table_td(col, record))
cells = [self.table_td(col, record) for col in self.columns]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.table_tr refactored with the following changes:

Comment on lines -1011 to +999
buffer_hah = {
'colspan': colspan,
'class': 'totals-label'
}
if colspan:
buffer_hah = {
'colspan': colspan,
'class': 'totals-label'
}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.table_totals refactored with the following changes:

Comment on lines -1133 to +1126
url_args = {}
url_args['perpage'] = None
url_args['onpage'] = None
url_args['search'] = None
url_args['sort1'] = None
url_args['sort2'] = None
url_args['sort3'] = None
url_args['export_to'] = None
url_args['datagrid-add-filter'] = None
url_args = {
'perpage': None,
'onpage': None,
'search': None,
'sort1': None,
'sort2': None,
'sort3': None,
'export_to': None,
'datagrid-add-filter': None,
}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function HTML.reset_url refactored with the following changes:

Comment on lines -1671 to +1656
headings = []
for col in self.columns:
headings.append(col.label)
headings = [col.label for col in self.columns]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function CSV.body_headings refactored with the following changes:

Comment on lines -1686 to +1669
row = []
for col in self.columns:
row.append(col.render('csv', record))
row = [col.render('csv', record) for col in self.columns]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function CSV.body_records refactored with the following changes:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant