Skip to content

Commit

Permalink
Merge 2416cd7 into 9fc84dc
Browse files Browse the repository at this point in the history
  • Loading branch information
BibianaC committed Oct 23, 2020
2 parents 9fc84dc + 2416cd7 commit 979575d
Show file tree
Hide file tree
Showing 47 changed files with 120 additions and 141 deletions.
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[run]
source = datastore
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@ before_script:

script:
- "./datastore/manage.py migrate"
- "./datastore/manage.py test tests"
- "coverage run --source='./datastore' ./datastore/manage.py test tests"
- "datagetter.py --help" # Verify it compiles and is installed
- "flake8"
- "isort --check-only --recursive ./"
- "isort --check-only ./"
- "black --check ./"

after_success: coveralls
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

[![Build Status](https://travis-ci.com/ThreeSixtyGiving/datastore.svg?branch=master)](https://travis-ci.com/ThreeSixtyGiving/datastore)


[![Coverage Status](https://coveralls.io/repos/github/ThreeSixtyGiving/Dashboard/badge.svg?branch=master)](https://coveralls.io/github/ThreeSixtyGiving/Dashboard?branch=master)

## Postgres setup

Example:
Expand Down
3 changes: 1 addition & 2 deletions datastore/additional_data/admin.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import additional_data.models as db
from django.contrib import admin
from django.contrib.postgres.fields import JSONField
from prettyjson import PrettyJSONWidget

import additional_data.models as db


class JSONFieldAdmin(admin.ModelAdmin):
list_per_page = 20
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from django.core.management.base import BaseCommand

from additional_data.models import OrgInfoCache
from django.core.management.base import BaseCommand


class Command(BaseCommand):
help = "Delete find that charity data"

def add_arguments(self, parser):
parser.add_argument(
"--no-prompt", action="store_true", help="Don't prompt before delete",
"--no-prompt",
action="store_true",
help="Don't prompt before delete",
)

def handle(self, *args, **options):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.management.base import BaseCommand

from additional_data.sources.code_names import CodeNamesSource
from django.core.management.base import BaseCommand


class Command(BaseCommand):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.management.base import BaseCommand

from additional_data.sources.geo_lookup import GeoLookupSource
from django.core.management.base import BaseCommand


class Command(BaseCommand):
Expand Down
3 changes: 1 addition & 2 deletions datastore/additional_data/management/commands/load_nspl.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.management.base import BaseCommand

from additional_data.sources.nspl import NSPLSource
from django.core.management.base import BaseCommand


class Command(BaseCommand):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
from django.core.management.base import BaseCommand
from django.db import transaction

from additional_data.models import OrgInfoCache
from additional_data.sources.find_that_charity import FindThatCharitySource
from django.core.management.base import BaseCommand
from django.db import transaction


class Command(BaseCommand):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from django.core.management.base import BaseCommand

from additional_data.generator import AdditionalDataGenerator
from db.models import Grant, Latest
from django.core.management.base import BaseCommand


class Command(BaseCommand):
Expand Down
3 changes: 1 addition & 2 deletions datastore/additional_data/migrations/0006_tsgorgtype.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Generated by Django 2.2.13 on 2020-09-16 14:20

from django.db import migrations, models

import additional_data.models
from django.db import migrations, models


class Migration(migrations.Migration):
Expand Down
1 change: 0 additions & 1 deletion datastore/additional_data/sources/code_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from datetime import datetime

import requests

from additional_data.models import CodeName

# based on 'import_chd' function in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from io import StringIO

import requests

import titlecase

current_dir = os.path.dirname(os.path.realpath(__file__))
Expand Down
5 changes: 2 additions & 3 deletions datastore/additional_data/sources/find_that_charity.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@
import json

import requests

from additional_data.models import OrgInfoCache


class FindThatCharitySource(object):
""" This is responsible for inputting and outputting data from the
FindThatCharity (FTC) organisation info data sources """
"""This is responsible for inputting and outputting data from the
FindThatCharity (FTC) organisation info data sources"""

ADDITIONAL_DATA_KEY = "recipientOrgInfos"

Expand Down
16 changes: 12 additions & 4 deletions datastore/additional_data/sources/geo_lookup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import io

import requests

from additional_data.models import GeoLookup


Expand All @@ -17,14 +16,20 @@ class GeoLookupSource(object):
"url_latlong": "https://raw.githubusercontent.com/drkane/geo-lookups/master/lsoa_latlong.csv",
"field_areacode": "lsoa11cd",
"field_areaname": "lsoa11nm",
"field_transforms": {"lad20cd": "ladcd", "lad20nm": "ladnm",},
"field_transforms": {
"lad20cd": "ladcd",
"lad20nm": "ladnm",
},
},
"msoa": {
"url_lookup": "https://raw.githubusercontent.com/drkane/geo-lookups/master/msoa_la.csv",
"url_latlong": "https://raw.githubusercontent.com/drkane/geo-lookups/master/msoa_latlong.csv",
"field_areacode": "msoa11cd",
"field_areaname": "msoa11hclnm",
"field_transforms": {"lad20cd": "ladcd", "lad20nm": "ladnm",},
"field_transforms": {
"lad20cd": "ladcd",
"lad20nm": "ladnm",
},
},
"ward": {
"url_lookup": "https://raw.githubusercontent.com/drkane/geo-lookups/master/ward_all_codes.csv",
Expand All @@ -36,7 +41,10 @@ class GeoLookupSource(object):
"url_lookup": "https://raw.githubusercontent.com/drkane/geo-lookups/master/la_all_codes.csv",
"field_areacode": "ladcd",
"field_areaname": "ladnm",
"field_transforms": {"lad20cd": "ladcd", "lad20nm": "ladnm",},
"field_transforms": {
"lad20cd": "ladcd",
"lad20nm": "ladnm",
},
},
}

Expand Down
1 change: 0 additions & 1 deletion datastore/additional_data/sources/nspl.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from datetime import datetime

import requests

from additional_data.models import NSPL, CodeName

# based on https://github.com/drkane/find-that-postcode/blob/master/findthatpostcode/commands/postcodes.py
Expand Down
3 changes: 1 addition & 2 deletions datastore/api/control/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
import signal
import subprocess

import db.models as db
from django.conf import settings
from django.http.response import JsonResponse
from django.views.generic import View

import db.models as db


class StatusView(View):
def get(self, *args, **kwargs):
Expand Down
5 changes: 2 additions & 3 deletions datastore/api/experimental/api.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import db.models as db
import django_filters.rest_framework
from api.experimental import serializers
from rest_framework import filters, generics
from rest_framework.pagination import LimitOffsetPagination

import db.models as db
from api.experimental import serializers


class CurrentLatestGrantsPaginator(LimitOffsetPagination):
default_limit = 60
Expand Down
3 changes: 1 addition & 2 deletions datastore/api/experimental/serializers.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from rest_framework import serializers

import db.models as db
from rest_framework import serializers


class GrantSerializer(serializers.ModelSerializer):
Expand Down
3 changes: 1 addition & 2 deletions datastore/api/grantnav/api.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import db.models as db
from django.conf import settings
from django.http.response import JsonResponse
from django.views import View

import db.models as db


class GrantNavPollForNewData(View):
""" API endpoint for GrantNav to poll to know that new data is available """
Expand Down
5 changes: 2 additions & 3 deletions datastore/api/urls.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from django.urls import path
from django.views.generic import TemplateView

import api.control.api
import api.experimental.api
import api.grantnav.api
from django.urls import path
from django.views.generic import TemplateView

app_name = "api"

Expand Down
3 changes: 1 addition & 2 deletions datastore/db/admin.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import db.models as db
from django.contrib import admin
from django.contrib.postgres.fields import JSONField
from prettyjson import PrettyJSONWidget

import db.models as db


class JSONFieldAdmin(admin.ModelAdmin):
list_per_page = 20
Expand Down
15 changes: 7 additions & 8 deletions datastore/db/management/commands/create_datagetter_data.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import json
import os

from django.core.management.base import BaseCommand

from additional_data.sources.local_files import LocalFilesSource
from db.management.spinner import Spinner
from db.models import Latest
from django.core.management.base import BaseCommand


class Command(BaseCommand):
Expand All @@ -31,13 +30,13 @@ def add_arguments(self, parser):
)

def handle(self, *args, **options):
""" Create grantnav package:
"""Create grantnav package:
- data_all.json (all sources)
- json_all/
|- grants.json (lists of grants)
|- grants.json
...
- data_all.json (all sources)
- json_all/
|- grants.json (lists of grants)
|- grants.json
...
"""
spinner = Spinner()
spinner.start()
Expand Down
11 changes: 7 additions & 4 deletions datastore/db/management/commands/delete_datagetter_data.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.management.base import BaseCommand, CommandError

from db.models import GetterRun
from django.core.management.base import BaseCommand, CommandError


class Command(BaseCommand):
Expand All @@ -16,11 +15,15 @@ def add_arguments(self, parser):
)

parser.add_argument(
"--no-prompt", action="store_true", help="Don't prompt for deletes",
"--no-prompt",
action="store_true",
help="Don't prompt for deletes",
)

parser.add_argument(
"--oldest", action="store_true", help="Delete the oldest datagetter data",
"--oldest",
action="store_true",
help="Delete the oldest datagetter data",
)

def handle(self, *args, **options):
Expand Down
3 changes: 1 addition & 2 deletions datastore/db/management/commands/list_datagetter_runs.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.management.base import BaseCommand

from db.models import GetterRun
from django.core.management.base import BaseCommand


class Command(BaseCommand):
Expand Down
8 changes: 4 additions & 4 deletions datastore/db/management/commands/load_datagetter_data.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import json
import os

from django.core.management.base import BaseCommand, CommandError
from django.db import transaction

import db.models as db
from additional_data.generator import AdditionalDataGenerator
from db.management.spinner import Spinner
from django.core.management.base import BaseCommand, CommandError
from django.db import transaction


class Command(BaseCommand):
Expand Down Expand Up @@ -97,7 +96,8 @@ def load_data(self):
grants_added = grants_added + len(grant_data["grants"])
except (FileNotFoundError, KeyError, TypeError, json.JSONDecodeError) as e:
print(
"Skipping loading due to: '%s'" % e, file=self.stdout,
"Skipping loading due to: '%s'" % e,
file=self.stdout,
)
pass

Expand Down
3 changes: 1 addition & 2 deletions datastore/db/management/commands/set_status.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.management.base import BaseCommand, CommandError

from db.models import Status, Statuses
from django.core.management.base import BaseCommand, CommandError


class Command(BaseCommand):
Expand Down
4 changes: 3 additions & 1 deletion datastore/db/migrations/0001_initial.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ class Migration(migrations.Migration):
),
("prefix", models.CharField(default=0, max_length=300)),
],
options={"unique_together": {("getter_run", "prefix")},},
options={
"unique_together": {("getter_run", "prefix")},
},
),
migrations.CreateModel(
name="SourceFile",
Expand Down
4 changes: 3 additions & 1 deletion datastore/db/migrations/0005_auto_20190816_1015.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ class Migration(migrations.Migration):

operations = [
migrations.AlterField(
model_name="status", name="when", field=models.DateTimeField(auto_now=True),
model_name="status",
name="when",
field=models.DateTimeField(auto_now=True),
),
]
5 changes: 4 additions & 1 deletion datastore/db/migrations/0008_remove_latest_total_grants.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@ class Migration(migrations.Migration):
]

operations = [
migrations.RemoveField(model_name="latest", name="total_grants",),
migrations.RemoveField(
model_name="latest",
name="total_grants",
),
]

0 comments on commit 979575d

Please sign in to comment.