fix: Increase speed on censures and hesitations GET
parent
d380f34364
commit
b44529242d
|
@ -1,5 +1,10 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
# 0.21.0
|
||||||
|
|
||||||
|
* Added rebuttals
|
||||||
|
* Improved speed of GET on /hesitations and /censures
|
||||||
|
|
||||||
# 0.20.1
|
# 0.20.1
|
||||||
|
|
||||||
* Allow filtering by software
|
* Allow filtering by software
|
||||||
|
|
|
@ -154,10 +154,10 @@ class Censures(Resource):
|
||||||
if p_instance != get_instance:
|
if p_instance != get_instance:
|
||||||
continue
|
continue
|
||||||
instances.append(p_instance)
|
instances.append(p_instance)
|
||||||
|
censures = database.get_all_censure_reasons_for_censured_id(instance.id, [c.id for c in instances])
|
||||||
rebuttals = database.get_all_rebuttals_from_source_instance_id(instance.id,[c.id for c in instances])
|
rebuttals = database.get_all_rebuttals_from_source_instance_id(instance.id,[c.id for c in instances])
|
||||||
for c_instance in instances:
|
for c_instance in instances:
|
||||||
censures = database.get_all_censure_reasons_for_censured_id(instance.id, [c_instance.id])
|
censures = [c for c in censures if c.reason is not None and c.censuring_id == c_instance.id]
|
||||||
censures = [c for c in censures if c.reason is not None]
|
|
||||||
c_instance_details = c_instance.get_details()
|
c_instance_details = c_instance.get_details()
|
||||||
if len(censures) > 0:
|
if len(censures) > 0:
|
||||||
c_instance_details["censure_reasons"] = [censure.reason for censure in censures]
|
c_instance_details["censure_reasons"] = [censure.reason for censure in censures]
|
||||||
|
|
|
@ -140,10 +140,10 @@ class Hesitations(Resource):
|
||||||
continue
|
continue
|
||||||
instances.append(p_instance)
|
instances.append(p_instance)
|
||||||
instance_details = []
|
instance_details = []
|
||||||
|
hesitations = database.get_all_hesitation_reasons_for_dubious_id(instance.id, [c.id for c in instances])
|
||||||
rebuttals = database.get_all_rebuttals_from_source_instance_id(instance.id,[c.id for c in instances])
|
rebuttals = database.get_all_rebuttals_from_source_instance_id(instance.id,[c.id for c in instances])
|
||||||
for c_instance in instances:
|
for c_instance in instances:
|
||||||
hesitations = database.get_all_hesitation_reasons_for_dubious_id(instance.id, [c_instance.id])
|
hesitations = [c for c in hesitations if c.reason is not None and c.hesitant_id == c_instance.id]
|
||||||
hesitations = [c for c in hesitations if c.reason is not None]
|
|
||||||
c_instance_details = c_instance.get_details()
|
c_instance_details = c_instance.get_details()
|
||||||
if len(hesitations) > 0:
|
if len(hesitations) > 0:
|
||||||
c_instance_details["hesitation_reasons"] = [hesitation.reason for hesitation in hesitations]
|
c_instance_details["hesitation_reasons"] = [hesitation.reason for hesitation in hesitations]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FEDISEER_VERSION = "0.20.0"
|
FEDISEER_VERSION = "0.22.0"
|
||||||
SUPPORTED_SOFTWARE = {
|
SUPPORTED_SOFTWARE = {
|
||||||
"lemmy",
|
"lemmy",
|
||||||
"mastodon",
|
"mastodon",
|
||||||
|
|
|
@ -147,6 +147,7 @@ def get_all_censure_reasons_for_censured_id(censured_id, censuring_ids):
|
||||||
Censure.censured_id == censured_id,
|
Censure.censured_id == censured_id,
|
||||||
Censure.censuring_id.in_(censuring_ids),
|
Censure.censuring_id.in_(censuring_ids),
|
||||||
).with_entities(
|
).with_entities(
|
||||||
|
Censure.censuring_id,
|
||||||
Censure.reason,
|
Censure.reason,
|
||||||
Censure.evidence,
|
Censure.evidence,
|
||||||
)
|
)
|
||||||
|
@ -199,6 +200,7 @@ def get_all_hesitation_reasons_for_dubious_id(dubious_id, hesitant_ids):
|
||||||
Hesitation.dubious_id == dubious_id,
|
Hesitation.dubious_id == dubious_id,
|
||||||
Hesitation.hesitant_id.in_(hesitant_ids),
|
Hesitation.hesitant_id.in_(hesitant_ids),
|
||||||
).with_entities(
|
).with_entities(
|
||||||
|
Hesitation.hesitant_id,
|
||||||
Hesitation.reason,
|
Hesitation.reason,
|
||||||
Hesitation.evidence,
|
Hesitation.evidence,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue