diff --git a/.gitignore b/.gitignore index 7db6ea9..48d190e 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,6 @@ ENV/ # Rope project settings .ropeproject -/db.sqlite3 +.*/db.sqlite3 www/ data/ diff --git a/ara/__init__.py b/ara/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ara/api/__init__.py b/ara/api/__init__.py new file mode 100644 index 0000000..de40ea7 --- /dev/null +++ b/ara/api/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/api/admin.py b/ara/api/admin.py similarity index 92% rename from api/admin.py rename to ara/api/admin.py index 1c6cd13..5145019 100644 --- a/api/admin.py +++ b/ara/api/admin.py @@ -1,4 +1,4 @@ -from api import models +from ara.api import models from django.contrib import admin from django.contrib.auth.models import Group diff --git a/api/apps.py b/ara/api/apps.py similarity index 75% rename from api/apps.py rename to ara/api/apps.py index d87006d..12c9e1e 100644 --- a/api/apps.py +++ b/ara/api/apps.py @@ -2,4 +2,4 @@ from django.apps import AppConfig class ApiConfig(AppConfig): - name = 'api' + name = 'ara.api' diff --git a/api/migrations/0001_initial.py b/ara/api/migrations/0001_initial.py similarity index 100% rename from api/migrations/0001_initial.py rename to ara/api/migrations/0001_initial.py diff --git a/api/__init__.py b/ara/api/migrations/__init__.py similarity index 100% rename from api/__init__.py rename to ara/api/migrations/__init__.py diff --git a/api/models.py b/ara/api/models.py similarity index 100% rename from api/models.py rename to ara/api/models.py diff --git a/api/serializers.py b/ara/api/serializers.py similarity index 98% rename from api/serializers.py rename to ara/api/serializers.py index ad29d67..b179e15 100644 --- a/api/serializers.py +++ b/ara/api/serializers.py @@ -19,13 +19,13 @@ import json import hashlib import logging import zlib -from api import models +from ara.api import models from django.utils import timezone from rest_framework import serializers DATE_FORMAT = "(iso-8601: 2016-05-06T17:20:25.749489-04:00)" DURATION_FORMAT = "([DD] [HH:[MM:]]ss[.uuuuuu])" -logger = logging.getLogger('api.serializers') +logger = logging.getLogger('ara.api.serializers') class CompressedTextField(serializers.CharField): diff --git a/api/migrations/__init__.py b/ara/api/tests/__init__.py similarity index 100% rename from api/migrations/__init__.py rename to ara/api/tests/__init__.py diff --git a/api/tests/factories.py b/ara/api/tests/factories.py similarity index 96% rename from api/tests/factories.py rename to ara/api/tests/factories.py index dad10b3..3ca2dc9 100644 --- a/api/tests/factories.py +++ b/ara/api/tests/factories.py @@ -1,6 +1,6 @@ import factory -from api import models +from ara.api import models class FileContentFactory(factory.DjangoModelFactory): diff --git a/api/tests/tests_file.py b/ara/api/tests/tests_file.py similarity index 97% rename from api/tests/tests_file.py rename to ara/api/tests/tests_file.py index c5a6c73..c8fc737 100644 --- a/api/tests/tests_file.py +++ b/ara/api/tests/tests_file.py @@ -1,7 +1,7 @@ from rest_framework.test import APITestCase -from api import models, serializers -from api.tests import factories +from ara.api import models, serializers +from ara.api.tests import factories class FileTestCase(APITestCase): diff --git a/api/tests/tests_file_content.py b/ara/api/tests/tests_file_content.py similarity index 80% rename from api/tests/tests_file_content.py rename to ara/api/tests/tests_file_content.py index cf4aca1..5e3b202 100644 --- a/api/tests/tests_file_content.py +++ b/ara/api/tests/tests_file_content.py @@ -1,7 +1,7 @@ from rest_framework.test import APITestCase -from api import serializers, models -from api.tests import factories +from ara.api import serializers, models +from ara.api.tests import factories class FileContentTestCase(APITestCase): diff --git a/api/tests/tests_playbook.py b/ara/api/tests/tests_playbook.py similarity index 98% rename from api/tests/tests_playbook.py rename to ara/api/tests/tests_playbook.py index 135f86b..fea770f 100644 --- a/api/tests/tests_playbook.py +++ b/ara/api/tests/tests_playbook.py @@ -2,8 +2,8 @@ import datetime from django.utils import timezone from rest_framework.test import APITestCase -from api import models, serializers -from api.tests import factories +from ara.api import models, serializers +from ara.api.tests import factories class PlaybookTestCase(APITestCase): diff --git a/api/tests/tests_playbook_file.py b/ara/api/tests/tests_playbook_file.py similarity index 96% rename from api/tests/tests_playbook_file.py rename to ara/api/tests/tests_playbook_file.py index 4022e69..bee5974 100644 --- a/api/tests/tests_playbook_file.py +++ b/ara/api/tests/tests_playbook_file.py @@ -1,8 +1,8 @@ import time from rest_framework.test import APITestCase -from api import models -from api.tests import factories +from ara.api import models +from ara.api.tests import factories class PlaybookFileTestCase(APITestCase): diff --git a/api/urls.py b/ara/api/urls.py similarity index 98% rename from api/urls.py rename to ara/api/urls.py index 3f42732..d6ea958 100644 --- a/api/urls.py +++ b/ara/api/urls.py @@ -17,7 +17,7 @@ from django.conf.urls import url from rest_framework.urlpatterns import format_suffix_patterns -from api import views +from ara.api import views urlpatterns = [ url(r'^$', views.api_root), diff --git a/api/views.py b/ara/api/views.py similarity index 98% rename from api/views.py rename to ara/api/views.py index 7b4439a..9729872 100644 --- a/api/views.py +++ b/ara/api/views.py @@ -18,7 +18,7 @@ from rest_framework.decorators import api_view, detail_route from rest_framework.response import Response from rest_framework.reverse import reverse -from api import models, serializers +from ara.api import models, serializers from rest_framework import generics, status diff --git a/api/tests/__init__.py b/ara/db.sqlite3 similarity index 100% rename from api/tests/__init__.py rename to ara/db.sqlite3 diff --git a/ara/server/__init__.py b/ara/server/__init__.py new file mode 100644 index 0000000..de40ea7 --- /dev/null +++ b/ara/server/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/ara/settings.py b/ara/server/settings.py similarity index 96% rename from ara/settings.py rename to ara/server/settings.py index 73a70f2..71a7563 100644 --- a/ara/settings.py +++ b/ara/server/settings.py @@ -4,7 +4,7 @@ import random import sys from envparse import env -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) def get_secret_key(secret_key): @@ -29,7 +29,7 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', - 'api' + 'ara.api' ] MIDDLEWARE = [ @@ -44,7 +44,7 @@ MIDDLEWARE = [ CORS_ORIGIN_ALLOW_ALL = True -ROOT_URLCONF = 'ara.urls' +ROOT_URLCONF = 'ara.server.urls' TEMPLATES = [ { @@ -62,7 +62,7 @@ TEMPLATES = [ }, ] -WSGI_APPLICATION = 'ara.wsgi.application' +WSGI_APPLICATION = 'ara.server.wsgi.application' DATABASES = { 'default': { diff --git a/ara/urls.py b/ara/server/urls.py similarity index 88% rename from ara/urls.py rename to ara/server/urls.py index 13efa84..be7836c 100644 --- a/ara/urls.py +++ b/ara/server/urls.py @@ -7,7 +7,7 @@ admin.site.site_header = 'Administration' admin.site.index_title = 'Administration Ara' routes = [ - url(r'^api/v1/', include('api.urls')), + url(r'^api/v1/', include('ara.api.urls')), url(r'^admin/', admin.site.urls), ] urlpatterns = routes + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/ara/wsgi.py b/ara/server/wsgi.py similarity index 58% rename from ara/wsgi.py rename to ara/server/wsgi.py index 2338b58..45655fd 100644 --- a/ara/wsgi.py +++ b/ara/server/wsgi.py @@ -2,6 +2,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ara.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ara.server.settings") application = get_wsgi_application() diff --git a/manage.py b/manage.py index d098a67..c00b4cc 100755 --- a/manage.py +++ b/manage.py @@ -3,7 +3,7 @@ import os import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ara.settings") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ara.server.settings") from django.core.management import execute_from_command_line diff --git a/setup.cfg b/setup.cfg index 632a2f3..3194c6c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,11 +1,11 @@ [metadata] -name = ara-backend -summary = ARA Records Ansible backend +name = ara-server +summary = ARA Records Ansible API and Server components description-file = README.rst author = OpenStack Community author-email = openstack-dev@lists.openstack.org -home-page = https://github.com/openstack/ara-backend +home-page = https://github.com/openstack/ara-server classifier = Environment :: OpenStack Intended Audience :: Information Technology @@ -26,8 +26,11 @@ setup-hooks = pbr.hooks.setup_hook [files] +namespace_packages = + ara.api + ara.server packages = - ara-backend + ara [build_sphinx] source-dir = doc/source @@ -41,7 +44,6 @@ upload-dir = docs/html ignore_errors = True include = ara/* - api/* omit = /usr* setup.py diff --git a/tox.ini b/tox.ini index 6259d47..d40d0f3 100644 --- a/tox.ini +++ b/tox.ini @@ -19,11 +19,11 @@ commands = sphinx-build -W -b html doc/source doc/build/html [testenv:pep8] commands = - flake8 ara api - bandit -r ara api + flake8 ara + bandit -r ara [testenv:py35] -commands = python manage.py test +commands = python manage.py test ara [testenv:runserver] commands = @@ -44,8 +44,8 @@ setenv = [testenv:cover] commands = coverage erase - coverage run {toxinidir}/manage.py test ara - coverage run -a {toxinidir}/manage.py test api + coverage run {toxinidir}/manage.py test ara/server + coverage run -a {toxinidir}/manage.py test ara/api coverage html [flake8]