Skip to content

Commit 9eaaa1e

Browse files
authored
Merge pull request #327 from minos-framework/restyled/0.6.0
Restyle 0.6.0
2 parents ed4710a + 6319ea7 commit 9eaaa1e

File tree

14 files changed

+90
-64
lines changed

14 files changed

+90
-64
lines changed

tutorials/stock-wallet/microservices/crypto/src/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
from .queries import (
1515
CryptoQueryService,
1616
CryptoQueryServiceRepository,
17-
)
17+
)

tutorials/stock-wallet/microservices/crypto/src/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
)
44

55
if __name__ == "__main__":
6-
main()
6+
main()

tutorials/stock-wallet/microservices/crypto/src/aggregates.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44

55
from minos.aggregate import (
66
Aggregate,
7-
RootEntity
7+
RootEntity,
88
)
99

1010

1111
class Crypto(RootEntity):
1212
"""Crypto RootEntity class."""
13+
1314
ticker: str
1415
updated: str
1516

tutorials/stock-wallet/microservices/crypto/src/cli.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,33 @@
11
import logging
22
import sys
33
from pathlib import (
4-
Path, )
4+
Path,
5+
)
56
from typing import (
6-
Optional, )
7+
Optional,
8+
)
79

810
import typer
11+
912
from minos.common import (
10-
EntrypointLauncher, )
13+
EntrypointLauncher,
14+
)
1115

1216
logging.getLogger("aiohttp.access").setLevel(logging.WARNING)
1317

1418
app = typer.Typer()
1519

1620

1721
@app.command("start")
18-
def start(file_path: Optional[Path] = typer.Argument(
19-
"config.yml",
20-
help="Microservice configuration file.",
21-
envvar="MINOS_CONFIGURATION_FILE_PATH",
22-
)):
22+
def start(
23+
file_path: Optional[Path] = typer.Argument(
24+
"config.yml",
25+
help="Microservice configuration file.",
26+
envvar="MINOS_CONFIGURATION_FILE_PATH",
27+
)
28+
):
2329
"""Start the microservice."""
24-
launcher = EntrypointLauncher.from_config(
25-
file_path, external_modules=[sys.modules["src"]])
30+
launcher = EntrypointLauncher.from_config(file_path, external_modules=[sys.modules["src"]])
2631
launcher.launch()
2732

2833

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from .services import (
22
CryptoCommandService,
3-
)
3+
)

tutorials/stock-wallet/microservices/crypto/src/commands/services.py

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
import logging
22
import time
33

4+
import ccxt
45
import pendulum
6+
7+
from minos.aggregate import (
8+
Event,
9+
)
10+
from minos.common import (
11+
ModelType,
12+
)
513
from minos.cqrs import (
614
CommandService,
715
)
8-
from minos.common import ModelType
9-
1016
from minos.networks import (
17+
BrokerMessageV1,
18+
BrokerMessageV1Payload,
1119
Request,
1220
enroute,
13-
BrokerMessageV1,
14-
BrokerMessageV1Payload
15-
)
16-
from minos.aggregate import (
17-
Event
1821
)
22+
1923
from ..aggregates import (
2024
CryptoAggregate,
2125
)
22-
import ccxt
26+
2327
logger = logging.getLogger(__name__)
2428
QuoteContent = ModelType.build("QuoteContent", {"ticker": str, "close": float, "volume": float, "when": str})
2529

@@ -32,17 +36,18 @@ async def set_crypto_coin(self, request: Request):
3236
event: Event = await request.content()
3337
for ticker in event["tickers"]:
3438
logger.warning(ticker)
35-
if ticker['flag'] == "crypto":
36-
now = pendulum.parse('1975-08-27T05:00:00')
39+
if ticker["flag"] == "crypto":
40+
now = pendulum.parse("1975-08-27T05:00:00")
3741
logger.warning("Added crypto to stock")
3842
await CryptoAggregate.add_crypto_to_stock(ticker["ticker"], now.to_datetime_string())
3943

4044
def call_remote(self, ticker, _from: float):
41-
kraken = ccxt.kraken({
42-
'enableRateLimit': True,
43-
'apiKey': 'MilT+OBywOBlgMPZnsCNSSlwxOGEtGfhnNXJl0pi87MCltuKRA+IoiVc',
44-
'secret': 'sGQpkVLH6sIPy7sjuro1sFiMYHC+hhN7j/bWrNr+AHdTIZNR8jb+13+ZhVevo5hyCxRijUqhUWG47Ox0SokOig==',
45-
}
45+
kraken = ccxt.kraken(
46+
{
47+
"enableRateLimit": True,
48+
"apiKey": "MilT+OBywOBlgMPZnsCNSSlwxOGEtGfhnNXJl0pi87MCltuKRA+IoiVc",
49+
"secret": "sGQpkVLH6sIPy7sjuro1sFiMYHC+hhN7j/bWrNr+AHdTIZNR8jb+13+ZhVevo5hyCxRijUqhUWG47Ox0SokOig==",
50+
}
4651
)
4752
now = kraken.milliseconds()
4853
timeframe = "1h"
@@ -62,11 +67,19 @@ def call_remote(self, ticker, _from: float):
6267
fetch_since = (values[-1][0] + 3600000) if len(values) else (fetch_since + timedelta)
6368
data = data + values
6469
if len(values):
65-
logger.info("{} candles in total from {} to {}".format(len(values), kraken.iso8601(values[0][0]),
66-
kraken.iso8601(values[-1][0])))
70+
logger.info(
71+
"{} candles in total from {} to {}".format(
72+
len(values), kraken.iso8601(values[0][0]), kraken.iso8601(values[-1][0])
73+
)
74+
)
6775
else:
6876
logger.info("{} candles in total from {}".format(len(values), kraken.iso8601(fetch_since)))
69-
except (ccxt.ExchangeError, ccxt.AuthenticationError, ccxt.ExchangeNotAvailable, ccxt.RequestTimeout) as error:
77+
except (
78+
ccxt.ExchangeError,
79+
ccxt.AuthenticationError,
80+
ccxt.ExchangeNotAvailable,
81+
ccxt.RequestTimeout,
82+
) as error:
7083
logger.error(error)
7184
time.sleep(30)
7285
return kraken.filter_by_since_limit(data, since, None, key=0)
@@ -88,7 +101,7 @@ async def get_crypto_values(self, request: Request):
88101
await CryptoAggregate.update_time_ticker(ticker["uuid"], result_date.to_datetime_string())
89102
when = result_date.to_datetime_string()
90103
message = BrokerMessageV1(
91-
"QuotesChannel", BrokerMessageV1Payload(QuoteContent(ticker["ticker"], result[4],
92-
result[5], when))
104+
"QuotesChannel",
105+
BrokerMessageV1Payload(QuoteContent(ticker["ticker"], result[4], result[5], when)),
93106
)
94107
await self.broker_publisher.send(message)
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
from .repository import (
2+
CryptoQueryServiceRepository,
3+
)
14
from .services import (
25
CryptoQueryService,
36
)
4-
5-
from .repository import (
6-
CryptoQueryServiceRepository,
7-
)
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
from sqlalchemy.orm import declarative_base
1+
from sqlalchemy.orm import (
2+
declarative_base,
3+
)
24

3-
Base = declarative_base()
5+
Base = declarative_base()

tutorials/stock-wallet/microservices/crypto/src/queries/repository.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1-
from minos.common import MinosSetup, MinosConfig
2-
from sqlalchemy import create_engine
3-
from sqlalchemy.orm import sessionmaker
4-
from src.queries.models import Base
1+
from sqlalchemy import (
2+
create_engine,
3+
)
4+
from sqlalchemy.orm import (
5+
sessionmaker,
6+
)
7+
from src.queries.models import (
8+
Base,
9+
)
10+
11+
from minos.common import (
12+
MinosConfig,
13+
MinosSetup,
14+
)
515

616

717
class CryptoQueryServiceRepository(MinosSetup):
@@ -15,4 +25,4 @@ async def _setup(self) -> None:
1525

1626
@classmethod
1727
def _from_config(cls, *args, config: MinosConfig, **kwargs):
18-
return cls(*args, **(config.query_repository._asdict()) | kwargs)
28+
return cls(*args, **(config.query_repository._asdict()) | kwargs)

tutorials/stock-wallet/microservices/crypto/src/queries/services.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from dependency_injector.wiring import (
22
Provide,
33
)
4-
54
from src.queries.repository import (
65
CryptoQueryServiceRepository,
76
)

0 commit comments

Comments
 (0)