Skip to content

Commit a03e748

Browse files
committed
Fixed values not being passed by reference
1 parent ea70ea5 commit a03e748

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

scripts/fetch_updates.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ def log_broken(contribution, msg):
3939
contribution['log'] = []
4040
contribution['log'].append(msg)
4141

42-
def process_contribution(contribution):
42+
def process_contribution(item):
43+
index, contribution = item
44+
4345
date_today = datetime.now(UTC).strftime('%Y-%m-%d')
4446
this_version = '0'
4547

@@ -53,16 +55,16 @@ def process_contribution(contribution):
5355
properties_raw = read_properties_txt(contribution['source'])
5456
except FileNotFoundError as e:
5557
log_broken(contribution, f'file not found, {e}, {date_today}')
56-
return
58+
return index, contribution
5759
except Exception:
5860
log_broken(contribution, f'url timeout, {date_today}')
59-
return
61+
return index, contribution
6062

6163
try:
6264
props = validate_existing(parse_text(properties_raw))
6365
except Exception:
6466
log_broken(contribution, f'invalid file, {date_today}')
65-
return
67+
return index, contribution
6668

6769
# some library files have field lastUpdated. This also exists in the database, but is defined
6870
# by our scripts, so remove this field.
@@ -73,6 +75,7 @@ def process_contribution(contribution):
7375
if props['version'] != this_version:
7476
# update from online
7577
update_contribution(contribution, props)
78+
return index, contribution
7679

7780

7881
if __name__ == "__main__":
@@ -99,7 +102,8 @@ def process_contribution(contribution):
99102
print(f"Starting processing of {total} contributions...")
100103

101104
with Pool(processes=256) as pool:
102-
for _ in pool.imap_unordered(process_contribution, contributions_list):
105+
for index, contribution in pool.imap_unordered(process_contribution, enumerate(contributions_list)):
106+
contributions_list[index] = contribution
103107
completed += 1
104108
print(f"Progress: {completed}/{total} ({(completed/total*100):.1f}%)")
105109

@@ -108,7 +112,7 @@ def process_contribution(contribution):
108112
# update only contribution with id==index
109113
contribution = next((x for x in contributions_list if x['id'] == int(index)), None)
110114
print(contribution)
111-
process_contribution(contribution)
115+
process_contribution((index, contribution))
112116
print(contribution)
113117

114118
# write all contributions to database file

0 commit comments

Comments
 (0)