Skip to content

Commit 7d84066

Browse files
authored
Merge pull request nguoianphu#1 from CharlesJUDITH/linter
Apply PEP8 recommandations
2 parents 295087e + d901229 commit 7d84066

File tree

2 files changed

+98
-78
lines changed

2 files changed

+98
-78
lines changed

test/import_fakenames.py

Lines changed: 53 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,28 @@
44
import pyodbc
55
import csv
66

7-
driver='FreeTDS'
7+
driver = 'FreeTDS'
88

99
parser = argparse.ArgumentParser()
1010
parser.parse_known_args()
1111
# Input file related arguments
12-
parser.add_argument('-f', '--filename', help='that contains the data to import', default=os.environ.get('FK_FILENAME', default=None ))
12+
parser.add_argument('-f', '--filename', help='that contains the data to import',
13+
default=os.environ.get('FK_FILENAME', default=None))
1314
parser.add_argument('--comma-csv', help="CSV formatted file format", action="store_true", default=True)
1415
parser.add_argument('--comma-delimited', help="comma ',' delimited file format", action="store_true")
1516
parser.add_argument('--pipe-delimited', help="Pipe '|' delimited file format", action="store_true")
1617
# SQL related arguments
17-
parser.add_argument('-S', '--server', help='target SQL server', default=os.environ.get('FK_SERVER', default="127.0.0.1"))
18-
parser.add_argument('-P', '--port', help='listen port port of the SQL service', default=os.environ.get('FK_PORT', default="5000"))
18+
parser.add_argument('-S', '--server', help='target SQL server',
19+
default=os.environ.get('FK_SERVER', default="127.0.0.1"))
20+
parser.add_argument('-P', '--port', help='listen port port of the SQL service',
21+
default=os.environ.get('FK_PORT', default="5000"))
1922
parser.add_argument('-D', '--database', help='taget SQL database', default=os.environ.get('FK_DATBASE', default="cidb"))
20-
parser.add_argument('-T', '--table', help='listen port port of the SQL service', default=os.environ.get('FK_TABLE', default="fakenames"))
21-
parser.add_argument('-u', '--username', help='to authenticate to the SQL database', default=os.environ.get('FK_USERNAME', default="sa"))
22-
parser.add_argument('-p', '--password', help='to access to the SQL database', default=os.environ.get('FK_PASSWORD', default="myPassword"))
23+
parser.add_argument('-T', '--table', help='listen port port of the SQL service',
24+
default=os.environ.get('FK_TABLE', default="fakenames"))
25+
parser.add_argument('-u', '--username', help='to authenticate to the SQL database',
26+
default=os.environ.get('FK_USERNAME', default="sa"))
27+
parser.add_argument('-p', '--password', help='to access to the SQL database',
28+
default=os.environ.get('FK_PASSWORD', default="myPassword"))
2329
# Logger arguments
2430
parser.add_argument('-d', '--debug', help="Enable debug logging", action="store_true")
2531
args, unknown = parser.parse_known_args()
@@ -36,26 +42,28 @@
3642
ch.setFormatter(formatter)
3743
logger.addHandler(ch)
3844

45+
3946
def connect():
4047
# Connect to database
4148
logger.info('Connecting to server "{0}:{1}" database "{2}"'.format(args.server, args.port, args.database))
42-
conn = pyodbc.connect(driver=driver, server=args.server, database=args.database ,port=args.port, uid=args.username, pwd=args.password)
49+
conn = pyodbc.connect(driver=driver, server=args.server, database=args.database, port=args.port, uid=args.username,
50+
pwd=args.password)
4351
return conn
4452

4553

4654
def create_table(dbconn, tablename):
4755
logger.info('Check if table "{0}" exists'.format(tablename))
48-
56+
4957
cursor = dbconn.cursor()
50-
58+
5159
cursor.execute("""
5260
select name
5361
from sysobjects
5462
where type = "U" and name = '{0}'
5563
""".format(tablename)
56-
)
57-
58-
try:
64+
)
65+
66+
try:
5967
cursor.fetchone()[0]
6068

6169
logger.info('Table "{0}" already exists.'.format(tablename))
@@ -113,7 +121,7 @@ def create_table(dbconn, tablename):
113121
""".format(tablename))
114122

115123
dbconn.commit()
116-
124+
117125

118126
def import_pipe_delimited_data(dbconn, tablename, filename):
119127
logger.info('Load data from file "{0}" to table "{1}"'.format(filename, tablename))
@@ -124,37 +132,36 @@ def import_pipe_delimited_data(dbconn, tablename, filename):
124132
cursor.commit()
125133

126134
# Count total number of lines in the input file
127-
with open (file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
135+
with open(file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
128136
reader = csv.reader(f, delimiter='|', quotechar='"')
129137
next(reader)
130138
lines = len(list(reader))
131-
132139

133-
with open (file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
140+
with open(file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
134141
reader = csv.reader(f, delimiter='|', quotechar='"')
135142
columns = next(reader)
136143
query = 'insert into ' + tablename + '({0}) values ({1})'
137144
query = query.format(','.join(columns), ','.join('?' * len(columns))).lower()
138-
query = query.replace('mothersmaiden','maidenname')
139-
query = query.replace('ups','upstracking')
140-
145+
query = query.replace('mothersmaiden', 'maidenname')
146+
query = query.replace('ups', 'upstracking')
147+
141148
logger.info('Processing "{0}" lines'.format(lines))
142149
record = 0
143150

144151
for data in reader:
145152
cursor = dbconn.cursor()
146-
147-
data[0] = int(data[0]) # number
148-
data[8] = data[8].replace('Ÿ','Y') # city
149-
data[15] = data[15].replace('œ','oe') # password
150-
data[19] = int(data[19]) # telephonecountrycode
151-
data[22] = int(data[22]) # age
152-
data[38] = float(data[38]) # pounds
153-
data[39] = float(data[39]) # kilograms
154-
data[41] = int(data[41]) # centimeters
155-
data[43] = float(data[43]) # latitude
156-
data[44] = float(data[44]) # longitude
157-
153+
154+
data[0] = int(data[0]) # number
155+
data[8] = data[8].replace('Ÿ', 'Y') # city
156+
data[15] = data[15].replace('œ', 'oe') # password
157+
data[19] = int(data[19]) # telephonecountrycode
158+
data[22] = int(data[22]) # age
159+
data[38] = float(data[38]) # pounds
160+
data[39] = float(data[39]) # kilograms
161+
data[41] = int(data[41]) # centimeters
162+
data[43] = float(data[43]) # latitude
163+
data[44] = float(data[44]) # longitude
164+
158165
cursor.execute(query, data)
159166
cursor.commit()
160167
record += 1
@@ -164,41 +171,41 @@ def import_pipe_delimited_data(dbconn, tablename, filename):
164171

165172
def import_csv_delimited_data(dbconn, tablename, filename):
166173
logger.info('Load CSV data from file "{0}" to table "{1}"'.format(filename, tablename))
167-
174+
168175
# Table configuration
169176
cursor = dbconn.cursor()
170177
cursor.execute('SET IDENTITY_INSERT {0} ON'.format(tablename))
171178
cursor.commit()
172179

173180
# Count total number of lines in the input file
174-
with open (file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
181+
with open(file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
175182
reader = csv.DictReader(f)
176183
lines = len(list(reader))
177184

178-
with open (file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
185+
with open(file=filename, mode='r', newline=None, encoding='utf-8-sig') as f:
179186
reader = csv.DictReader(f)
180187
query = 'insert into ' + tablename + '({0}) values ({1})'
181188
query = query.format(','.join(reader.fieldnames), ','.join('?' * len(reader.fieldnames))).lower()
182-
query = query.replace('mothersmaiden','maidenname')
183-
query = query.replace('ups','upstracking')
189+
query = query.replace('mothersmaiden', 'maidenname')
190+
query = query.replace('ups', 'upstracking')
184191

185192
logger.info('Processing "{0}" lines'.format(lines))
186193
record = 0
187-
194+
188195
for data in reader:
189196
cursor = dbconn.cursor()
190-
197+
191198
data['Number'] = int(data['Number'])
192-
data['City'] = data['City'].replace('Ÿ','Y')
193-
data['Password'] = data['Password'].replace('œ','oe')
199+
data['City'] = data['City'].replace('Ÿ', 'Y')
200+
data['Password'] = data['Password'].replace('œ', 'oe')
194201
data['TelephoneCountryCode'] = int(data['TelephoneCountryCode'])
195202
data['Age'] = int(data['Age'])
196203
data['Pounds'] = float(data['Pounds'])
197204
data['Kilograms'] = float(data['Kilograms'])
198205
data['Centimeters'] = int(data['Centimeters'])
199206
data['Latitude'] = float(data['Latitude'])
200207
data['Longitude'] = float(data['Longitude'])
201-
208+
202209
cursor.execute(query, list(data.values()))
203210
cursor.commit()
204211
record += 1
@@ -212,18 +219,18 @@ def handle(event, context):
212219
if args.pipe_delimited:
213220
import_pipe_delimited_data(
214221
dbconn=dbconn,
215-
tablename=args.table,
222+
tablename=args.table,
216223
filename=args.filename
217-
)
224+
)
218225
else:
219226
import_csv_delimited_data(
220227
dbconn=dbconn,
221228
tablename=args.table,
222229
filename=args.filename
223-
)
230+
)
224231

225232

226233
if __name__ == '__main__':
227234
event = {}
228235
context = {}
229-
handle(event, context)
236+
handle(event, context)

test/import_fakenames_panda.py

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,28 @@
55
import pandas as pd
66
from collections import OrderedDict
77

8-
driver='FreeTDS'
8+
driver = 'FreeTDS'
99

1010
parser = argparse.ArgumentParser()
1111
parser.parse_known_args()
1212
# Input file related arguments
13-
parser.add_argument('-f', '--filename', help='that contains the data to import', default=os.environ.get('FK_FILENAME', default=None ))
13+
parser.add_argument('-f', '--filename', help='that contains the data to import',
14+
default=os.environ.get('FK_FILENAME', default=None))
1415
parser.add_argument('--comma-csv', help="CSV formatted file format", action="store_true", default=True)
1516
parser.add_argument('--comma-delimited', help="comma ',' delimited file format", action="store_true")
1617
parser.add_argument('--pipe-delimited', help="Pipe '|' delimited file format", action="store_true")
1718
# SQL related arguments
18-
parser.add_argument('-S', '--server', help='target SQL server', default=os.environ.get('FK_SERVER', default="127.0.0.1"))
19-
parser.add_argument('-P', '--port', help='listen port port of the SQL service', default=os.environ.get('FK_PORT', default="5000"))
19+
parser.add_argument('-S', '--server', help='target SQL server',
20+
default=os.environ.get('FK_SERVER', default="127.0.0.1"))
21+
parser.add_argument('-P', '--port', help='listen port port of the SQL service',
22+
default=os.environ.get('FK_PORT', default="5000"))
2023
parser.add_argument('-D', '--database', help='taget SQL database', default=os.environ.get('FK_DATBASE', default="cidb"))
21-
parser.add_argument('-T', '--table', help='listen port port of the SQL service', default=os.environ.get('FK_TABLE', default="fakenames"))
22-
parser.add_argument('-u', '--username', help='to authenticate to the SQL database', default=os.environ.get('FK_USERNAME', default="sa"))
23-
parser.add_argument('-p', '--password', help='to access to the SQL database', default=os.environ.get('FK_PASSWORD', default="myPassword"))
24+
parser.add_argument('-T', '--table', help='listen port port of the SQL service',
25+
default=os.environ.get('FK_TABLE', default="fakenames"))
26+
parser.add_argument('-u', '--username', help='to authenticate to the SQL database',
27+
default=os.environ.get('FK_USERNAME', default="sa"))
28+
parser.add_argument('-p', '--password', help='to access to the SQL database',
29+
default=os.environ.get('FK_PASSWORD', default="myPassword"))
2430
# Logger arguments
2531
parser.add_argument('-d', '--debug', help="Enable debug logging", action="store_true")
2632
args, unknown = parser.parse_known_args()
@@ -41,23 +47,24 @@
4147
def connect():
4248
# Connect to database
4349
logger.info('Connecting to server "{0}:{1}" database "{2}"'.format(args.server, args.port, args.database))
44-
conn = pyodbc.connect(driver=driver, server=args.server, database=args.database ,port=args.port, uid=args.username, pwd=args.password)
50+
conn = pyodbc.connect(driver=driver, server=args.server, database=args.database, port=args.port, uid=args.username,
51+
pwd=args.password)
4552
return conn
4653

4754

4855
def create_table(dbconn, tablename):
4956
logger.info('Check if table "{0}" exists'.format(tablename))
50-
57+
5158
cursor = dbconn.cursor()
52-
59+
5360
cursor.execute("""
5461
select name
5562
from sysobjects
5663
where type = "U" and name = '{0}'
5764
""".format(tablename)
58-
)
59-
60-
try:
65+
)
66+
67+
try:
6168
cursor.fetchone()[0]
6269

6370
logger.info('Table "{0}" already exists.'.format(tablename))
@@ -115,11 +122,11 @@ def create_table(dbconn, tablename):
115122
""".format(tablename))
116123

117124
dbconn.commit()
118-
125+
119126

120127
def import_csv_delimited_data(dbconn, tablename, filename, delimiter):
121128
logger.info('Load CSV data from file "{0}" to table "{1}"'.format(filename, tablename))
122-
129+
123130
# Table configuration
124131
cursor = dbconn.cursor()
125132
cursor.execute('SET IDENTITY_INSERT {0} ON'.format(tablename))
@@ -128,48 +135,54 @@ def import_csv_delimited_data(dbconn, tablename, filename, delimiter):
128135
# Import data
129136
reader = pd.read_csv(filepath_or_buffer=filename, encoding='utf-8-sig', sep=delimiter)
130137
df = pd.DataFrame(data=reader)
131-
138+
132139
# Fix convertion
133140
df['CCNumber'] = df['CCNumber'].astype(str)
134141
df['WesternUnionMTCN'] = df['WesternUnionMTCN'].astype(str)
135142
df['CVV2'] = df['CVV2'].astype(str)
136143
df['MoneyGramMTCN'] = df['MoneyGramMTCN'].astype(str)
137144
df['ZipCode'] = df['ZipCode'].astype(str)
138-
df['City'] = df['City'].str.replace('Ÿ','Y')
139-
df['Password'] = df['Password'].str.replace('œ','oe')
145+
df['City'] = df['City'].str.replace('Ÿ', 'Y')
146+
df['Password'] = df['Password'].str.replace('œ', 'oe')
140147
df['Company'] = df['Company'].fillna('n/a')
141148

142149
# Prepare query
143150
query = 'insert into ' + tablename + '({0}) values ({1})'
144151
query = query.format(','.join(df.columns.values), ','.join('?' * df.columns.size)).lower()
145-
152+
146153
# Fit to database fields
147154
field_transform = {
148155
'mothersmaiden': 'maidenname',
149156
'ups': 'upstracking'
150157
}
151-
for key,value in field_transform.items():
158+
for key, value in field_transform.items():
152159
query = query.replace(key, value)
153160

154161
amount_of_lines = df.values.shape[0]
155162
logger.info('Processing "{0}" lines'.format(amount_of_lines))
156163
amount_of_records = 0
157-
164+
158165
for data in df.itertuples():
159166
cursor = dbconn.cursor()
160167

161168
cursor.execute(query, [
162-
data.Number, data.Gender, data.NameSet, data.Title, data.GivenName, data.MiddleInitial, data.Surname, data.StreetAddress, data.City,
163-
data.State, data.StateFull, data.ZipCode, data.Country, data.CountryFull, data.EmailAddress, data.Username, data.Password, data.BrowserUserAgent, data.TelephoneNumber,
164-
data.TelephoneCountryCode, data.MothersMaiden, data.Birthday, data.Age, data.TropicalZodiac, data.CCType, data.CCNumber, data.CVV2, data.CCExpires, data.NationalID,
165-
data.UPS, data.WesternUnionMTCN, data.MoneyGramMTCN, data.Color, data.Occupation, data.Company, data.Vehicle, data.Domain, data.BloodType, data.Pounds,
169+
data.Number, data.Gender, data.NameSet, data.Title, data.GivenName, data.MiddleInitial, data.Surname,
170+
data.StreetAddress, data.City,
171+
data.State, data.StateFull, data.ZipCode, data.Country, data.CountryFull, data.EmailAddress, data.Username,
172+
data.Password, data.BrowserUserAgent, data.TelephoneNumber,
173+
data.TelephoneCountryCode, data.MothersMaiden, data.Birthday, data.Age, data.TropicalZodiac, data.CCType,
174+
data.CCNumber, data.CVV2, data.CCExpires, data.NationalID,
175+
data.UPS, data.WesternUnionMTCN, data.MoneyGramMTCN, data.Color, data.Occupation, data.Company,
176+
data.Vehicle, data.Domain, data.BloodType, data.Pounds,
166177
data.Kilograms, data.FeetInches, data.Centimeters, data.GUID, data.Latitude, data.Longitude
167-
]
168-
)
178+
]
179+
)
169180
cursor.commit()
170181
amount_of_records += 1
171182

172-
logger.info('Imported {0}/{1} line from file "{2}" to table "{3}"'.format(amount_of_records, amount_of_lines, filename, tablename))
183+
logger.info(
184+
'Imported {0}/{1} line from file "{2}" to table "{3}"'.format(amount_of_records, amount_of_lines, filename,
185+
tablename))
173186

174187

175188
def handle(event, context):
@@ -178,20 +191,20 @@ def handle(event, context):
178191
if args.pipe_delimited:
179192
import_csv_delimited_data(
180193
dbconn=dbconn,
181-
tablename=args.table,
194+
tablename=args.table,
182195
filename=args.filename,
183196
delimiter='|'
184-
)
197+
)
185198
else:
186199
import_csv_delimited_data(
187200
dbconn=dbconn,
188201
tablename=args.table,
189202
filename=args.filename,
190203
delimiter=','
191-
)
204+
)
192205

193206

194207
if __name__ == '__main__':
195208
event = {}
196209
context = {}
197-
handle(event, context)
210+
handle(event, context)

0 commit comments

Comments
 (0)