summaryrefslogtreecommitdiff
path: root/app/daily
diff options
context:
space:
mode:
Diffstat (limited to 'app/daily')
-rw-r--r--app/daily/admin.py55
-rw-r--r--app/daily/create_daily.py14
-rw-r--r--app/daily/get_weather.py14
-rw-r--r--app/daily/migrations/0001_initial.py71
-rw-r--r--app/daily/migrations/0002_auto_20160118_2144.py21
-rw-r--r--app/daily/migrations/0003_auto_20160119_1206.py49
-rw-r--r--app/daily/migrations/0004_auto_20160119_1223.py30
-rw-r--r--app/daily/migrations/0005_remove_daily_slug.py19
-rw-r--r--app/daily/migrations/0006_daily_weather_human.py20
-rw-r--r--app/daily/migrations/0007_auto_20160119_1604.py21
-rw-r--r--app/daily/migrations/0008_auto_20160124_0914.py30
-rw-r--r--app/daily/migrations/0009_remove_daily_title.py19
-rw-r--r--app/daily/migrations/0010_auto_20161023_2014.py19
-rw-r--r--app/daily/migrations/__init__.py0
-rw-r--r--app/daily/models.py105
-rw-r--r--app/daily/retriever.py53
16 files changed, 0 insertions, 540 deletions
diff --git a/app/daily/admin.py b/app/daily/admin.py
deleted file mode 100644
index 32a5747..0000000
--- a/app/daily/admin.py
+++ /dev/null
@@ -1,55 +0,0 @@
-from django.contrib import admin
-
-from utils.widgets import LGEntryForm, OLAdminBase
-from .models import CheckIn, Daily, Weather
-
-
-class WeatherAdmin(OLAdminBase):
- pass
-
-
-class CheckInAdmin(OLAdminBase):
- list_display = ('date', 'location')
- pass
-
-
-class DailyAdmin(admin.ModelAdmin):
- form = LGEntryForm
- list_display = ('date', 'user', 'location')
- list_filter = (
- 'date',
- ('location', admin.RelatedOnlyFieldListFilter),
- )
- fieldsets = (
- (None, {
- 'fields': (
- 'user',
- 'body_markdown',
- 'weather_human',
- )
- }),
- ('Details', {
- 'fields': (
- 'location',
- 'weather',
- 'date'
- ),
- 'classes': ('collapse',),
- }),
- )
-
- def get_form(self, request, obj=None, **kwargs):
- form = super(DailyAdmin, self).get_form(request, **kwargs)
- form.current_user = request.user
- return form
-
- def get_queryset(self, request):
- qs = super(DailyAdmin, self).get_queryset(request)
- if request.user.is_superuser:
- return qs
- return qs.filter(user=request.user)
-
-
-admin.site.register(CheckIn, CheckInAdmin)
-admin.site.register(Weather, WeatherAdmin)
-admin.site.register(Daily, DailyAdmin)
diff --git a/app/daily/create_daily.py b/app/daily/create_daily.py
deleted file mode 100644
index 5441b77..0000000
--- a/app/daily/create_daily.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-import os
-from os.path import dirname, abspath
-import django
-PROJECT_ROOT = abspath(dirname(dirname(dirname(__file__)))) + '/'
-sys.path.append(PROJECT_ROOT)
-sys.path.append(PROJECT_ROOT + '/app')
-sys.path.append(PROJECT_ROOT + '/app/lib')
-sys.path.append(PROJECT_ROOT + '/config')
-sys.path.append(PROJECT_ROOT + '/venv/bin/python3')
-os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings'
-django.setup()
-from daily import retriever
-retriever.create_daily()
diff --git a/app/daily/get_weather.py b/app/daily/get_weather.py
deleted file mode 100644
index 6cd56af..0000000
--- a/app/daily/get_weather.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-import os
-from os.path import dirname, abspath
-import django
-PROJECT_ROOT = abspath(dirname(dirname(dirname(__file__)))) + '/'
-sys.path.append(PROJECT_ROOT)
-sys.path.append(PROJECT_ROOT + '/app')
-sys.path.append(PROJECT_ROOT + '/app/lib')
-sys.path.append(PROJECT_ROOT + '/config')
-sys.path.append(PROJECT_ROOT + '/venv/bin/python3')
-os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings'
-django.setup()
-from daily import retriever
-retriever.get_yesterday_weather()
diff --git a/app/daily/migrations/0001_initial.py b/app/daily/migrations/0001_initial.py
deleted file mode 100644
index b3ba687..0000000
--- a/app/daily/migrations/0001_initial.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-18 20:38
-from __future__ import unicode_literals
-
-import django.contrib.gis.db.models.fields
-from django.db import migrations, models
-import django.db.models.deletion
-import django.utils.timezone
-
-
-class Migration(migrations.Migration):
-
- initial = True
-
- dependencies = [
- ('locations', '__first__'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='CheckIn',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('point', django.contrib.gis.db.models.fields.PointField(blank=True, srid=4326)),
- ('date', models.DateField(default=django.utils.timezone.now)),
- ('location', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='locations.Location')),
- ],
- ),
- migrations.CreateModel(
- name='Daily',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('title', models.CharField(max_length=200)),
- ('slug', models.SlugField()),
- ('body_html', models.TextField(blank=True)),
- ('body_markdown', models.TextField()),
- ('date', models.DateField(verbose_name='Date published')),
- ('location', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='locations.Location')),
- ],
- options={
- 'get_latest_by': 'date',
- 'ordering': ('date',),
- },
- ),
- migrations.CreateModel(
- name='Weather',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('point', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326)),
- ('date', models.DateField()),
- ('temp_max', models.CharField(max_length=4)),
- ('temp_min', models.CharField(max_length=4)),
- ('temp_mean', models.CharField(max_length=4)),
- ('wind_mean', models.CharField(max_length=10)),
- ('wind_max', models.CharField(max_length=10)),
- ('humidity', models.CharField(max_length=10)),
- ('snow_amount', models.CharField(max_length=10)),
- ('rain_amount', models.CharField(max_length=10)),
- ('fog', models.NullBooleanField()),
- ('rain', models.NullBooleanField()),
- ('snow', models.NullBooleanField()),
- ('hail', models.NullBooleanField()),
- ('thunder', models.NullBooleanField()),
- ],
- ),
- migrations.AddField(
- model_name='daily',
- name='weather',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='daily.Weather'),
- ),
- ]
diff --git a/app/daily/migrations/0002_auto_20160118_2144.py b/app/daily/migrations/0002_auto_20160118_2144.py
deleted file mode 100644
index 4769c21..0000000
--- a/app/daily/migrations/0002_auto_20160118_2144.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-18 21:44
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0001_initial'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='checkin',
- name='location',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='locations.Location'),
- ),
- ]
diff --git a/app/daily/migrations/0003_auto_20160119_1206.py b/app/daily/migrations/0003_auto_20160119_1206.py
deleted file mode 100644
index d28c9ff..0000000
--- a/app/daily/migrations/0003_auto_20160119_1206.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-19 12:06
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0002_auto_20160118_2144'),
- ]
-
- operations = [
- migrations.AlterModelOptions(
- name='checkin',
- options={'get_latest_by': 'date', 'ordering': ('-date',)},
- ),
- migrations.AlterModelOptions(
- name='weather',
- options={'get_latest_by': 'date', 'ordering': ('-date',), 'verbose_name_plural': 'Weather'},
- ),
- migrations.AlterField(
- model_name='daily',
- name='body_html',
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name='daily',
- name='body_markdown',
- field=models.TextField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name='daily',
- name='slug',
- field=models.SlugField(blank=True, null=True),
- ),
- migrations.AlterField(
- model_name='daily',
- name='title',
- field=models.CharField(blank=True, max_length=200, null=True),
- ),
- migrations.AlterField(
- model_name='daily',
- name='weather',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='daily.Weather'),
- ),
- ]
diff --git a/app/daily/migrations/0004_auto_20160119_1223.py b/app/daily/migrations/0004_auto_20160119_1223.py
deleted file mode 100644
index 3c77deb..0000000
--- a/app/daily/migrations/0004_auto_20160119_1223.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-19 12:23
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0003_auto_20160119_1206'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='weather',
- name='temp_max',
- field=models.CharField(max_length=8),
- ),
- migrations.AlterField(
- model_name='weather',
- name='temp_mean',
- field=models.CharField(max_length=8),
- ),
- migrations.AlterField(
- model_name='weather',
- name='temp_min',
- field=models.CharField(max_length=8),
- ),
- ]
diff --git a/app/daily/migrations/0005_remove_daily_slug.py b/app/daily/migrations/0005_remove_daily_slug.py
deleted file mode 100644
index 8a896ba..0000000
--- a/app/daily/migrations/0005_remove_daily_slug.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-19 13:38
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0004_auto_20160119_1223'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='daily',
- name='slug',
- ),
- ]
diff --git a/app/daily/migrations/0006_daily_weather_human.py b/app/daily/migrations/0006_daily_weather_human.py
deleted file mode 100644
index 7f701b4..0000000
--- a/app/daily/migrations/0006_daily_weather_human.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-19 13:45
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0005_remove_daily_slug'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='daily',
- name='weather_human',
- field=models.TextField(blank=True, null=True),
- ),
- ]
diff --git a/app/daily/migrations/0007_auto_20160119_1604.py b/app/daily/migrations/0007_auto_20160119_1604.py
deleted file mode 100644
index 1acd5de..0000000
--- a/app/daily/migrations/0007_auto_20160119_1604.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-19 16:04
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0006_daily_weather_human'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='daily',
- name='location',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='locations.Location'),
- ),
- ]
diff --git a/app/daily/migrations/0008_auto_20160124_0914.py b/app/daily/migrations/0008_auto_20160124_0914.py
deleted file mode 100644
index eff3604..0000000
--- a/app/daily/migrations/0008_auto_20160124_0914.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-24 09:14
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-from django.contrib.auth.models import User
-lux = User.objects.get(username="luxagraf")
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
- ('daily', '0007_auto_20160119_1604'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='daily',
- name='user',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
- ),
- migrations.AlterField(
- model_name='daily',
- name='date',
- field=models.DateField(),
- ),
- ]
diff --git a/app/daily/migrations/0009_remove_daily_title.py b/app/daily/migrations/0009_remove_daily_title.py
deleted file mode 100644
index 085adf3..0000000
--- a/app/daily/migrations/0009_remove_daily_title.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-01-24 16:27
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0008_auto_20160124_0914'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='daily',
- name='title',
- ),
- ]
diff --git a/app/daily/migrations/0010_auto_20161023_2014.py b/app/daily/migrations/0010_auto_20161023_2014.py
deleted file mode 100644
index 72a68cf..0000000
--- a/app/daily/migrations/0010_auto_20161023_2014.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-10-23 20:14
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('daily', '0009_remove_daily_title'),
- ]
-
- operations = [
- migrations.AlterModelOptions(
- name='daily',
- options={'get_latest_by': 'date', 'ordering': ('-date',)},
- ),
- ]
diff --git a/app/daily/migrations/__init__.py b/app/daily/migrations/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/app/daily/migrations/__init__.py
+++ /dev/null
diff --git a/app/daily/models.py b/app/daily/models.py
deleted file mode 100644
index 1bf7bfd..0000000
--- a/app/daily/models.py
+++ /dev/null
@@ -1,105 +0,0 @@
-from django.contrib.gis.db import models
-from django.conf import settings
-from django import forms
-from django.utils import timezone
-
-from locations.models import Location
-
-from utils.widgets import markdown_to_html
-
-
-class CheckIn(models.Model):
- point = models.PointField(blank=True)
- location = models.ForeignKey(Location, blank=True, null=True)
- date = models.DateField(default=timezone.now)
-
- class Meta:
- ordering = ('-date',)
- get_latest_by = 'date'
-
- def __str__(self):
- return str(self.date)
-
- @property
- def lon(self):
- '''Get the site's longitude.'''
- return self.point.x
-
- @property
- def lat(self):
- '''Get the site's latitude.'''
- return self.point.y
-
- def save(self):
- try:
- self.location = Location.objects.filter(geometry__contains=self.point).get()
- except Location.DoesNotExist:
- raise forms.ValidationError("There is no location associated with that point, add it: %sadmin/locations/location/add/" % (settings.BASE_URL))
- super(CheckIn, self).save()
-
-
-class Weather(models.Model):
- point = models.PointField(null=True, blank=True)
- date = models.DateField()
- temp_max = models.CharField(max_length=8)
- temp_min = models.CharField(max_length=8)
- temp_mean = models.CharField(max_length=8)
- wind_mean = models.CharField(max_length=10)
- wind_max = models.CharField(max_length=10)
- humidity = models.CharField(max_length=10)
- snow_amount = models.CharField(max_length=10)
- rain_amount = models.CharField(max_length=10)
- fog = models.NullBooleanField()
- rain = models.NullBooleanField()
- snow = models.NullBooleanField()
- hail = models.NullBooleanField()
- thunder = models.NullBooleanField()
-
- class Meta:
- ordering = ('-date',)
- get_latest_by = 'date'
- verbose_name_plural = "Weather"
-
- def __str__(self):
- return str(self.date)
-
-
-class Daily(models.Model):
- user = models.ForeignKey(settings.AUTH_USER_MODEL)
- location = models.ForeignKey(Location, blank=True, null=True)
- weather = models.ForeignKey(Weather, blank=True, null=True)
- weather_human = models.TextField(blank=True, null=True)
- body_html = models.TextField(blank=True, null=True)
- body_markdown = models.TextField(blank=True, null=True)
- date = models.DateField()
-
- class Meta:
- ordering = ('-date',)
- get_latest_by = 'date'
-
- def __str__(self):
- return str(self.date)
-
- @property
- def longitude(self):
- '''Get the site's longitude.'''
- return self.point.x
-
- @property
- def latitude(self):
- '''Get the site's latitude.'''
- return self.point.y
-
- @property
- def get_previous_published(self):
- return self.get_previous_by_pub_date(status__exact=1)
-
- @property
- def get_next_published(self):
- return self.get_next_by_pub_date(status__exact=1)
-
- def save(self, **kwargs):
- if self.body_markdown:
- self.body_html = markdown_to_html(self.body_markdown)
- self.location = CheckIn.objects.latest().location
- super(Daily, self).save()
diff --git a/app/daily/retriever.py b/app/daily/retriever.py
deleted file mode 100644
index 3b7da87..0000000
--- a/app/daily/retriever.py
+++ /dev/null
@@ -1,53 +0,0 @@
-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()