P2PySonar2demo_project/pysonar_demo/service.pyView source
pysonar_demo/service.pyStatic analysis
   1 """Application service connecting models and scoring functions."""
   2
   3 from .models import Market, Prediction, Report
   4 from .scoring import confidence_band, score_market
   5
   6
   7 class DemoApp:
   8     def __init__(self, name):
   9         self.name = name
  10
  11     def build_market(self, payload):
  12         return Market(
  13             payload["question"],
  14             payload["yes_price"],
  15             payload["volume"],
  16         )
  17
  18     def predict(self, market):
  19         score = score_market(market)
  20         confidence = confidence_band(score)
  21         return Prediction(market, score, confidence)
  22
  23     def build_report(self, payloads):
  24         predictions = []
  25         for payload in payloads:
  26             market = self.build_market(payload)
  27             predictions.append(self.predict(market))
  28
  29         title = self.name + " · " + str(len(predictions)) + " analyzed markets"
  30         return Report(title, predictions)