Skip to content

Conversation

@sourcery-ai
Copy link

@sourcery-ai sourcery-ai bot commented Nov 11, 2022

Branch main refactored by Sourcery.

If you're happy with these changes, merge this Pull Request using the Squash and merge strategy.

See our documentation here.

Run Sourcery locally

Reduce the feedback loop during development by using the Sourcery editor plugin:

Review changes via command line

To manually merge these changes, make sure you're on the main branch, then run:

git fetch origin sourcery/main
git merge --ff-only FETCH_HEAD
git reset HEAD^

Help us improve this pull request!

Comment on lines -26 to +33
if not any([server,database,usrID,pwd]):
if not any([server, database, usrID, pwd]):
raise Exception("Partially inputs, please check your inputs...")
else:
self.filePath = filePath
self.server = server
self.database=database
self.usrID = usrID
self.pwd = pwd
self.save2tableName = save2tableName
self.filePath = filePath
self.server = server
self.database=database
self.usrID = usrID
self.pwd = pwd
self.save2tableName = save2tableName
Copy link
Author

Choose a reason for hiding this comment

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

Function exceltoDBtable.__init__ refactored with the following changes:

Comment on lines -41 to +52

try:
# self.conn = pymysql.connect(host=self.server,user=self.usrID,password=self.pwd,db=self.database,charset="utf8",cursorclass=pymysql.cursors.DictCursor)

self.engine = create_engine('mysql+pymysql://%s:%s@%s:3306/%s'%(self.usrID,self.pwd,self.server,self.database))

self.engine = create_engine(
f'mysql+pymysql://{self.usrID}:{self.pwd}@{self.server}:3306/{self.database}'
)

print("Successfully connected to MySQL...")
except:
raise Exception("Can not connect to %s, please check your input info."%self.dbType)
raise Exception(
f"Can not connect to {self.dbType}, please check your input info."
)
Copy link
Author

Choose a reason for hiding this comment

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

Function exceltoDBtable.connect2DB refactored with the following changes:

Comment on lines -60 to +73
def save2database(self) ->"DataFrame to database":
def save2database(self) -> "DataFrame to database":
if self.save2tableName:
tableName = self.save2tableName
elif "/" in self.filePath:
tableName = self.filePath.split("/")[-1].split(".")[0]
else:
if "/" in self.filePath:
tableName = self.filePath.split("/")[-1].split(".")[0]
else:
tableName = self.filePath.split(".")[0]
tableName = self.filePath.split(".")[0]
try:
self.file_data.to_sql(tableName,con=self.engine)
print("Successfully save %s into database..."%tableName)
print(f"Successfully save {tableName} into database...")
Copy link
Author

Choose a reason for hiding this comment

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

Function exceltoDBtable.save2database refactored with the following changes:

Comment on lines -26 to +33
if not any([server,database,usrID,pwd]):
if not any([server, database, usrID, pwd]):
raise Exception("Partially inputs, please check your inputs...")
else:
self.filePath = filePath
self.server = server
self.database=database
self.usrID = usrID
self.pwd = pwd
self.save2tableName = save2tableName
self.filePath = filePath
self.server = server
self.database=database
self.usrID = usrID
self.pwd = pwd
self.save2tableName = save2tableName
Copy link
Author

Choose a reason for hiding this comment

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

Function exceltoDBtable.__init__ refactored with the following changes:

Comment on lines -41 to +52

try:
# self.conn = pymysql.connect(host=self.server,user=self.usrID,password=self.pwd,db=self.database,charset="utf8",cursorclass=pymysql.cursors.DictCursor)

self.engine = create_engine('mysql+pymysql://%s:%s@%s:3306/%s'%(self.usrID,self.pwd,self.server,self.database))

self.engine = create_engine(
f'mysql+pymysql://{self.usrID}:{self.pwd}@{self.server}:3306/{self.database}'
)

print("Successfully connected to MySQL...")
except:
raise Exception("Can not connect to %s, please check your input info."%self.dbType)
raise Exception(
f"Can not connect to {self.dbType}, please check your input info."
)
Copy link
Author

Choose a reason for hiding this comment

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

Function exceltoDBtable.connect2DB refactored with the following changes:

Comment on lines -60 to +73
def save2database(self) ->"DataFrame to database":
def save2database(self) -> "DataFrame to database":
if self.save2tableName:
tableName = self.save2tableName
elif "/" in self.filePath:
tableName = self.filePath.split("/")[-1].split(".")[0]
else:
if "/" in self.filePath:
tableName = self.filePath.split("/")[-1].split(".")[0]
else:
tableName = self.filePath.split(".")[0]
tableName = self.filePath.split(".")[0]
try:
self.file_data.to_sql(tableName,con=self.engine)
print("Successfully save %s into database..."%tableName)
print(f"Successfully save {tableName} into database...")
Copy link
Author

Choose a reason for hiding this comment

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

Function exceltoDBtable.save2database refactored with the following changes:

@sourcery-ai
Copy link
Author

sourcery-ai bot commented Nov 11, 2022

Sourcery Code Quality Report

❌  Merging this PR will decrease code quality in the affected files by 1.21%.

Quality metrics Before After Change
Complexity 3.03 ⭐ 2.08 ⭐ -0.95 👍
Method Length 61.60 🙂 63.60 🙂 2.00 👎
Working memory 7.86 🙂 8.67 🙂 0.81 👎
Quality 74.85% 🙂 73.64% 🙂 -1.21% 👎
Other metrics Before After Change
Lines 108 114 6
Changed files Quality Before Quality After Quality Change
build/lib/exceltomysql/exceltomysql.py 74.85% 🙂 73.64% 🙂 -1.21% 👎
exceltomysql/exceltomysql.py 74.85% 🙂 73.64% 🙂 -1.21% 👎

Here are some functions in these files that still need a tune-up:

File Function Complexity Length Working Memory Quality Recommendation
build/lib/exceltomysql/exceltomysql.py exceltoDBtable.connect2DB 1 ⭐ 50 ⭐ 10 😞 75.49% ⭐ Extract out complex expressions
exceltomysql/exceltomysql.py exceltoDBtable.connect2DB 1 ⭐ 50 ⭐ 10 😞 75.49% ⭐ Extract out complex expressions

Legend and Explanation

The emojis denote the absolute quality of the code:

  • ⭐ excellent
  • 🙂 good
  • 😞 poor
  • ⛔ very poor

The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.


Please see our documentation here for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us improve this quality report!

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