Merge branch 'master' of https://gitfub.space/caspervk/nightr
This commit is contained in:
commit
89d7c07557
|
@ -12,7 +12,6 @@ source venv/bin/activate
|
|||
echo Installing required Python packages
|
||||
pip install -Ur requirements.txt
|
||||
|
||||
|
||||
function run() {
|
||||
python -m nightr
|
||||
}
|
||||
|
|
|
@ -1,18 +1,17 @@
|
|||
import inspect
|
||||
import logging
|
||||
import statistics
|
||||
from dataclasses import asdict
|
||||
from datetime import timedelta
|
||||
from typing import List
|
||||
|
||||
import requests_cache
|
||||
from flask import Flask, jsonify
|
||||
from flask import Flask, jsonify, logging
|
||||
|
||||
from .strategies import miloStrats, iss, cars_in_traffic, tide_strat, upstairs_neighbour
|
||||
from .util import Context
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
app = Flask(__name__)
|
||||
logger = logging.create_logger(app)
|
||||
|
||||
requests_cache.install_cache("requests_cache", expire_after=timedelta(minutes=10))
|
||||
|
||||
|
@ -39,9 +38,10 @@ def probabilities():
|
|||
try:
|
||||
prediction = strategy(context)
|
||||
except Exception as e:
|
||||
logger.warning("Strategy %s failed: %s", name, e)
|
||||
logger.warning("Strategy '%s' failed:", name)
|
||||
logger.exception(e)
|
||||
continue
|
||||
|
||||
predictions.append({
|
||||
"name": name,
|
||||
"description": inspect.getdoc(strategy),
|
||||
|
|
|
@ -9,7 +9,6 @@ from timezonefinder import TimezoneFinder
|
|||
|
||||
from ..util import Context, Prediction
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
tf = TimezoneFinder(in_memory=True)
|
||||
|
||||
|
||||
|
|
|
@ -14,8 +14,9 @@ def camImgStrat(context : Context) -> Prediction:
|
|||
"""
|
||||
img = cv2.imread(str(Path(__file__).parent.joinpath("night.jpg")), 0)
|
||||
average = img.mean(axis=0).mean(axis=0)
|
||||
print(average)
|
||||
p = Prediction()
|
||||
p.weight = 0.7
|
||||
|
||||
if average < 100:
|
||||
p.probability = 1.0
|
||||
p.reasons.append('Image was dark')
|
||||
|
@ -33,6 +34,7 @@ def australiaStrat(context : Context) -> Prediction:
|
|||
t = datetime.now().astimezone(australia)
|
||||
hour = t.hour
|
||||
p = Prediction()
|
||||
|
||||
if hour > 22 or hour < 6:
|
||||
p.probability = 0.0
|
||||
p.reasons.append('It\'s night-time in Australia')
|
||||
|
@ -55,9 +57,11 @@ def tv2newsStrat(context : Context) -> Prediction:
|
|||
avg_delta += d
|
||||
avg_timestamp = avg_delta // len(delta_times) // 60
|
||||
p = Prediction()
|
||||
print('average time between articles on tv2:', avg_timestamp, 'minutes')
|
||||
if avg_timestamp < 0:
|
||||
p.weight = 0.0
|
||||
else:
|
||||
p.weight = 0.7
|
||||
p.probability = 1.0 if avg_timestamp > 50 else 0.0
|
||||
p.reasons.append('There were ' + ('few' if avg_timestamp > 50 else 'many') + ' recent articles on TV2 News')
|
||||
print(p.reasons[0])
|
||||
return p
|
||||
|
||||
|
|
Loading…
Reference in a new issue