1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
from datetime import datetime
import requests
import json
from django.utils import timezone
from django.template.loader import render_to_string
from django.contrib.auth.models import User
from django.db.models import Q
from .models import CheckIn, Daily, Weather
def create_daily():
users = User.objects.filter(Q(username="luxagraf") | Q(username="corrinne"))
for user in users:
d, created = Daily.objects.get_or_create(
user=user,
date=timezone.now()
)
if not created:
print("already existed")
def get_yesterday_weather():
current = CheckIn.objects.latest()
PB_URL = "http://api.wunderground.com/api/39c3ce6a12b14e75/yesterday/q/%s,%s.json" % (current.lat, current.lon)
r = requests.get(PB_URL)
weather = json.loads(r.text)
data = weather['history']['dailysummary'][0]
date = "%s %s %s" % (data['date']['year'], data['date']['mon'], data['date']['mday'])
dt = datetime.strptime(date, "%Y %m %d")
w, created = Weather.objects.get_or_create(
point=current.point,
date=dt,
temp_max=data['maxtempi'],
temp_min=data['mintempi'],
temp_mean=data['meantempi'],
wind_mean=data['meanwindspdi'],
wind_max=data['maxwspdi'],
humidity=data['humidity'],
snow_amount=data['snowfalli'],
rain_amount=data['precipi'],
fog=int(data['fog']),
rain=int(data['rain']),
snow=int(data['snow']),
hail=int(data['hail']),
thunder=int(data['thunder']),
)
dailies = Daily.objects.filter(date=dt)
for d in dailies:
d.weather = w
d.weather_human = render_to_string('human_weather.txt', {'object': w}).strip()
d.save()
|