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