Skip to content

Commit c827e54

Browse files
committed
ci(sonar): tempfiles for security warnings
1 parent 923852e commit c827e54

File tree

2 files changed

+38
-46
lines changed

2 files changed

+38
-46
lines changed

src/acquisition/ecdc/ecdc_db_update.py

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -183,27 +183,23 @@ def main():
183183
max_tries = 5
184184
while flag < max_tries:
185185
flag = flag + 1
186-
tmp_dir = ''.join(random.choice('0123456789abcdefghijklmnopqrstuvwxyz') for i in range(8))
187-
tmp_dir = 'downloads_' + tmp_dir
188-
subprocess.call(["mkdir",tmp_dir])
189-
# Use temporary directory to avoid data from different time
190-
# downloaded to same folder
191-
download_ecdc_data(download_dir=tmp_dir)
192-
issue = EpiDate.today().get_ew()
193-
files = glob.glob('%s/*.csv' % tmp_dir)
194-
for filename in files:
195-
with open(filename,'r') as f:
196-
_ = f.readline()
197-
db_error = False
198-
for filename in files:
199-
try:
200-
update_from_file(issue, date, filename, test_mode=args.test)
201-
subprocess.call(["rm",filename])
202-
except:
203-
db_error = True
204-
subprocess.call(["rm","-r",tmp_dir])
205-
if not db_error:
206-
break # Exit loop with success
186+
with tempfile.TemporaryDirectory() as tmp_dir:
187+
# Use temporary directory to avoid data from different time
188+
# downloaded to same folder
189+
download_ecdc_data(download_dir=tmp_dir)
190+
issue = EpiDate.today().get_ew()
191+
files = glob.glob(f"{tmp_dir}/*.csv")
192+
for filename in files:
193+
with open(filename) as f:
194+
_ = f.readline()
195+
db_error = False
196+
for filename in files:
197+
try:
198+
update_from_file(issue, date, filename, test_mode=args.test)
199+
except:
200+
db_error = True
201+
if not db_error:
202+
break # Exit loop with success
207203
if flag >= max_tries:
208204
print("WARNING: Database `ecdc_ili` did not update successfully")
209205

src/acquisition/paho/paho_db_update.py

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -261,32 +261,28 @@ def main():
261261
max_tries = 5
262262
while flag < max_tries:
263263
flag = flag + 1
264-
tmp_dir = ''.join(random.choice('0123456789abcdefghijklmnopqrstuvwxyz') for i in range(8))
265-
tmp_dir = 'downloads_' + tmp_dir
266-
subprocess.call(["mkdir",tmp_dir])
267-
# Use temporary directory to avoid data from different time
268-
# downloaded to same folder
269-
get_paho_data(dir=tmp_dir)
270-
issue = EpiDate.today().get_ew()
271-
# Check to make sure we downloaded a file for every week
272-
issueset = set()
273-
files = glob.glob('%s/*.csv' % tmp_dir)
274-
for filename in files:
275-
with open(filename,'r') as f:
276-
_ = f.readline()
277-
data = f.readline().split(',')
278-
issueset.add(data[6])
279-
db_error = False
280-
if len(issueset) >= 53: # Shouldn't be more than 53
264+
with tempfile.TemporaryDirectory() as tmp_dir:
265+
# Use temporary directory to avoid data from different time
266+
# downloaded to same folder
267+
get_paho_data(dir=tmp_dir)
268+
issue = EpiDate.today().get_ew()
269+
# Check to make sure we downloaded a file for every week
270+
issueset = set()
271+
files = glob.glob(f"{tmp_dir}/*.csv")
281272
for filename in files:
282-
try:
283-
update_from_file(issue, date, filename, test_mode=args.test)
284-
subprocess.call(["rm",filename])
285-
except:
286-
db_error = True
287-
subprocess.call(["rm","-r",tmp_dir])
288-
if not db_error:
289-
break # Exit loop with success
273+
with open(filename) as f:
274+
_ = f.readline()
275+
data = f.readline().split(",")
276+
issueset.add(data[6])
277+
db_error = False
278+
if len(issueset) >= 53: # Shouldn't be more than 53
279+
for filename in files:
280+
try:
281+
update_from_file(issue, date, filename, test_mode=args.test)
282+
except:
283+
db_error = True
284+
if not db_error:
285+
break # Exit loop with success
290286
if flag >= max_tries:
291287
print("WARNING: Database `paho_dengue` did not update successfully")
292288

0 commit comments

Comments
 (0)