wbportfolio 1.55.6__py2.py3-none-any.whl → 1.55.8__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of wbportfolio might be problematic. Click here for more details.
- wbportfolio/fdm/tasks.py +35 -6
- {wbportfolio-1.55.6.dist-info → wbportfolio-1.55.8.dist-info}/METADATA +1 -1
- {wbportfolio-1.55.6.dist-info → wbportfolio-1.55.8.dist-info}/RECORD +5 -5
- {wbportfolio-1.55.6.dist-info → wbportfolio-1.55.8.dist-info}/WHEEL +0 -0
- {wbportfolio-1.55.6.dist-info → wbportfolio-1.55.8.dist-info}/licenses/LICENSE +0 -0
wbportfolio/fdm/tasks.py
CHANGED
|
@@ -1,13 +1,42 @@
|
|
|
1
1
|
from celery import shared_task
|
|
2
|
-
from tqdm import tqdm
|
|
3
2
|
from wbfdm.models import Controversy, Instrument
|
|
4
3
|
|
|
5
|
-
from wbportfolio.models import AssetPosition
|
|
4
|
+
from wbportfolio.models import AssetPosition, Portfolio
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
@shared_task(queue="portfolio")
|
|
9
8
|
def synchronize_portfolio_controversies():
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
active_portfolios = Portfolio.objects.filter_active_and_tracked()
|
|
10
|
+
qs = (
|
|
11
|
+
AssetPosition.objects.filter(portfolio__in=active_portfolios)
|
|
12
|
+
.values("underlying_instrument")
|
|
13
|
+
.distinct("underlying_instrument")
|
|
14
|
+
)
|
|
15
|
+
objs = {}
|
|
16
|
+
securities = Instrument.objects.filter(id__in=qs.values("underlying_instrument"))
|
|
17
|
+
securities_mapping = {security.id: security.get_root() for security in securities}
|
|
18
|
+
for controversy in securities.dl.esg_controversies():
|
|
19
|
+
instrument = securities_mapping[controversy["instrument_id"]]
|
|
20
|
+
obj = Controversy.dict_to_model(controversy, instrument)
|
|
21
|
+
objs[obj.external_id] = obj
|
|
22
|
+
|
|
23
|
+
Controversy.objects.bulk_create(
|
|
24
|
+
objs.values(),
|
|
25
|
+
update_fields=[
|
|
26
|
+
"instrument",
|
|
27
|
+
"headline",
|
|
28
|
+
"description",
|
|
29
|
+
"source",
|
|
30
|
+
"direct_involvement",
|
|
31
|
+
"company_response",
|
|
32
|
+
"review",
|
|
33
|
+
"initiated",
|
|
34
|
+
"flag",
|
|
35
|
+
"status",
|
|
36
|
+
"type",
|
|
37
|
+
"severity",
|
|
38
|
+
],
|
|
39
|
+
unique_fields=["external_id"],
|
|
40
|
+
update_conflicts=True,
|
|
41
|
+
batch_size=10000,
|
|
42
|
+
)
|
|
@@ -80,7 +80,7 @@ wbportfolio/factories/orders/__init__.py,sha256=QG7on_F9GiuJgvGbM0BNDVdfGwwBz_WG
|
|
|
80
80
|
wbportfolio/factories/orders/order_proposals.py,sha256=3QGG6eI2sWYGJenn17gz37A2PJgjZLlPqAsqci1lFXI,702
|
|
81
81
|
wbportfolio/factories/orders/orders.py,sha256=tTw2U-xvUsFpG4zad3KCHZPQx1FVg-zPjwEN73XEOjg,907
|
|
82
82
|
wbportfolio/fdm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
|
-
wbportfolio/fdm/tasks.py,sha256=
|
|
83
|
+
wbportfolio/fdm/tasks.py,sha256=v7UmrQhHAgJOQ3AC3VRvJ4YIKveqsqyWnvM33UQOUDI,1367
|
|
84
84
|
wbportfolio/filters/__init__.py,sha256=m44CdyYMtku8rMGyiX8KSmMdvyqaElKW4UMkEqOC1VM,1374
|
|
85
85
|
wbportfolio/filters/assets.py,sha256=rvBNtQ8OcvYXSmaVdgjH7IITvaBZ558Y9sCj0B_WDpw,18866
|
|
86
86
|
wbportfolio/filters/assets_and_net_new_money_progression.py,sha256=IYl_qMFO9QKhXhCTtz2JrOjlAKdEkykNlu4DO_H7HkQ,1403
|
|
@@ -567,7 +567,7 @@ wbportfolio/viewsets/transactions/claim.py,sha256=Pb1WftoO-w-ZSTbLRhmQubhy7hgd68
|
|
|
567
567
|
wbportfolio/viewsets/transactions/fees.py,sha256=WT2bWWfgozz4_rpyTKX7dgBBTXD-gu0nlsd2Nk2Zh1Q,7028
|
|
568
568
|
wbportfolio/viewsets/transactions/mixins.py,sha256=WipvJoi5hylkpD0y9VATe30WAcwIHUIroVkK10FYw7k,636
|
|
569
569
|
wbportfolio/viewsets/transactions/trades.py,sha256=xBgOGaJ8aEg-2RxEJ4FDaBs4SGwuLasun3nhpis0WQY,12363
|
|
570
|
-
wbportfolio-1.55.
|
|
571
|
-
wbportfolio-1.55.
|
|
572
|
-
wbportfolio-1.55.
|
|
573
|
-
wbportfolio-1.55.
|
|
570
|
+
wbportfolio-1.55.8.dist-info/METADATA,sha256=JBgCNHH4seDymSNEd6z5o49vq2VI66Pg0v3tLoxJ41w,751
|
|
571
|
+
wbportfolio-1.55.8.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
|
|
572
|
+
wbportfolio-1.55.8.dist-info/licenses/LICENSE,sha256=jvfVH0SY8_YMHlsJHKe_OajiscQDz4lpTlqT6x24sVw,172
|
|
573
|
+
wbportfolio-1.55.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|