fix(proxy): use values set by provider constructor for next_subgroup

This commit is contained in:
Iain Learmonth 2023-03-05 14:14:13 +00:00
parent c34dab7b9a
commit 04d1623952

View file

@ -158,6 +158,7 @@ class ProxyAutomation(TerraformAutomation):
@classmethod @classmethod
def next_subgroup(cls, group_id: int) -> Optional[int]: def next_subgroup(cls, group_id: int) -> Optional[int]:
provider = cls() # Some attributes are set by constructor
conn = db.engine.connect() conn = db.engine.connect()
result = conn.execute(text(""" result = conn.execute(text("""
SELECT proxy.psg, COUNT(proxy.id) FROM proxy, origin SELECT proxy.psg, COUNT(proxy.id) FROM proxy, origin
@ -166,11 +167,11 @@ class ProxyAutomation(TerraformAutomation):
AND origin.group_id = :group_id AND origin.group_id = :group_id
AND proxy.provider = :provider AND proxy.provider = :provider
GROUP BY proxy.psg ORDER BY proxy.psg; GROUP BY proxy.psg ORDER BY proxy.psg;
"""), provider=cls.short_name, group_id=group_id) """), provider=provider.short_name, group_id=group_id)
subgroups = { subgroups = {
row[0]: row[1] for row in result row[0]: row[1] for row in result
} }
for subgroup in range(0, cls.subgroup_count_max): for subgroup in range(0, provider.subgroup_count_max):
if subgroups.get(subgroup, 0) < cls.subgroup_members_max: if subgroups.get(subgroup, 0) < provider.subgroup_members_max:
return subgroup return subgroup
return None return None