Sourcery Starbot ⭐ refactored ccombe/practical-python#1
Sourcery Starbot ⭐ refactored ccombe/practical-python#1SourceryAI wants to merge 1 commit intoccombe:masterfrom
Conversation
| month = month + 1 | ||
| month += 1 | ||
| principal = principal * (1+rate/12) - payment | ||
| total_paid = total_paid + payment | ||
| total_paid += payment | ||
|
|
||
| if month >= extra_payment_start_month and month <= extra_payment_end_month: | ||
| principal = principal - extra_payment | ||
| total_paid = total_paid + extra_payment | ||
| principal -= extra_payment | ||
| total_paid += extra_payment | ||
|
|
||
| print(month, round(total_paid,2), round(principal, 2)) | ||
|
|
There was a problem hiding this comment.
Lines 14-23 refactored with the following changes:
- Replace assignment with augmented assignment (
aug-assign)
| else: | ||
| filename = input('Enter a filename:') | ||
|
|
||
| filename = sys.argv[1] if len(sys.argv) == 2 else input('Enter a filename:') |
There was a problem hiding this comment.
Lines 25-29 refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| bounce = 1 | ||
| while bounce <= 10: | ||
| height = height * (3/5) | ||
| for bounce in range(1, 11): | ||
| height *= 3/5 | ||
| print(bounce, round(height, 4)) | ||
| bounce += 1 |
There was a problem hiding this comment.
Lines 4-8 refactored with the following changes:
- Replace assignment with augmented assignment (
aug-assign) - Replace while with for (
while-to-for)
| else: | ||
| filename = input('Enter a filename:') | ||
|
|
||
| filename = sys.argv[1] if len(sys.argv) == 2 else input('Enter a filename:') |
There was a problem hiding this comment.
Lines 26-30 refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
|
|
||
| portfolio = [ Stock(d['name'], d['shares'], d['price']) for d in portdicts ] | ||
| return portfolio | ||
| return [ Stock(d['name'], d['shares'], d['price']) for d in portdicts ] |
There was a problem hiding this comment.
Function read_portfolio refactored with the following changes:
- Inline variable that is immediately returned (
inline-immediately-returned-variable)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| ''' | ||
| portfolio = report.read_portfolio(filename) | ||
| return sum([s.cost() for s in portfolio]) | ||
| return sum(s.cost() for s in portfolio) |
There was a problem hiding this comment.
Function portfolio_cost refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator)
|
|
||
| portfolio = [ Stock(d['name'], d['shares'], d['price']) for d in portdicts ] | ||
| return portfolio | ||
| return [ Stock(d['name'], d['shares'], d['price']) for d in portdicts ] |
There was a problem hiding this comment.
Function read_portfolio refactored with the following changes:
- Inline variable that is immediately returned (
inline-immediately-returned-variable)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| ''' | ||
| portfolio = report.read_portfolio(filename) | ||
| return sum([s.cost() for s in portfolio]) | ||
| return sum(s.cost() for s in portfolio) |
There was a problem hiding this comment.
Function portfolio_cost refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator)
|
|
||
| portfolio = [ Stock(d['name'], d['shares'], d['price']) for d in portdicts ] | ||
| return portfolio | ||
| return [ Stock(d['name'], d['shares'], d['price']) for d in portdicts ] |
There was a problem hiding this comment.
Function read_portfolio refactored with the following changes:
- Inline variable that is immediately returned (
inline-immediately-returned-variable)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
|
|
||
| def __contains__(self, name): | ||
| return any([s.name == name for s in self._holdings]) | ||
| return any(s.name == name for s in self._holdings) |
There was a problem hiding this comment.
Function Portfolio.__contains__ refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator)
| @property | ||
| def total_cost(self): | ||
| return sum([s.shares * s.price for s in self._holdings]) | ||
| return sum(s.shares * s.price for s in self._holdings) |
There was a problem hiding this comment.
Function Portfolio.total_cost refactored with the following changes:
- Replace unneeded comprehension with generator (
comprehension-to-generator)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| record = dict(zip(headers, row)) | ||
| else: | ||
| record = tuple(row) | ||
| record = dict(zip(headers, row)) if headers else tuple(row) |
There was a problem hiding this comment.
Function parse_csv refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp)
| def csv_record(fields): | ||
| s = '"%s",%0.2f,"%s","%s",%0.2f,%0.2f,%0.2f,%0.2f,%d' % tuple(fields) | ||
| return s | ||
| return '"%s",%0.2f,"%s","%s",%0.2f,%0.2f,%0.2f,%0.2f,%d' % tuple(fields) |
There was a problem hiding this comment.
Function csv_record refactored with the following changes:
- Inline variable that is immediately returned (
inline-immediately-returned-variable)
Thanks for starring sourcery-ai/sourcery ✨ 🌟 ✨
Here's your pull request refactoring your most popular Python repo.
If you want Sourcery to refactor all your Python repos and incoming pull requests install our bot.
Review changes via command line
To manually merge these changes, make sure you're on the
masterbranch, then run: