diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2017-01-10 18:46:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-10 18:46:38 +0100 |
commit | 44a5c2977e4e4c522b8bf0d26c500d8c4f3db4a8 (patch) | |
tree | f4e3e07d26f5823e32f3197db5e949181542c218 /src/lib/Bcfg2/Reporting/Storage | |
parent | 9797b170668a2af2b6f53312d867026850be54c3 (diff) | |
parent | fa0d86aba32c40d829f9f94411403221a48283e8 (diff) | |
download | bcfg2-44a5c2977e4e4c522b8bf0d26c500d8c4f3db4a8.tar.gz bcfg2-44a5c2977e4e4c522b8bf0d26c500d8c4f3db4a8.tar.bz2 bcfg2-44a5c2977e4e4c522b8bf0d26c500d8c4f3db4a8.zip |
Merge pull request #373 from AlexanderS/fix/django1.9/report-collector
Fix bcfg2-report-collector for django-1.9
Diffstat (limited to 'src/lib/Bcfg2/Reporting/Storage')
-rw-r--r-- | src/lib/Bcfg2/Reporting/Storage/DjangoORM.py | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py index ac0cde783..347e5cc81 100644 --- a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py +++ b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py @@ -2,26 +2,37 @@ The base for the original DjangoORM (DBStats) """ -from lxml import etree -from datetime import datetime +import difflib import traceback +from datetime import datetime from time import strptime -import Bcfg2.Options -import Bcfg2.DBSettings -from Bcfg2.Compat import md5 -from Bcfg2.Reporting.Storage.base import StorageBase, StorageError -from Bcfg2.Server.Plugin.exceptions import PluginExecutionError +from lxml import etree + import django -from django.core import management from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned from django.db.models import FieldDoesNotExist from django.core.cache import cache -#Used by GetCurrentEntry -import difflib -from Bcfg2.Compat import b64decode -from Bcfg2.Reporting.models import * +import Bcfg2.Options +import Bcfg2.DBSettings +from Bcfg2.Compat import b64decode, md5 from Bcfg2.Reporting.Compat import transaction +from Bcfg2.Reporting.Storage.base import StorageBase, StorageError +from Bcfg2.Server.Plugin.exceptions import PluginExecutionError + + +def load_django_models(): + """ Load models for Django after option parsing has completed """ + # pylint: disable=W0602 + global Interaction, PackageEntry, FilePerms, PathEntry, LinkEntry, \ + Group, Client, Bundle, TYPE_EXTRA, TYPE_BAD, TYPE_MODIFIED, \ + FailureEntry, Performance, BaseEntry + # pylint: enable=W0602 + + from Bcfg2.Reporting.models import \ + Interaction, PackageEntry, FilePerms, PathEntry, LinkEntry, \ + Group, Client, Bundle, TYPE_EXTRA, TYPE_BAD, TYPE_MODIFIED, \ + FailureEntry, Performance, BaseEntry def get_all_field_names(model): @@ -42,6 +53,7 @@ class DjangoORM(StorageBase): type=Bcfg2.Options.Types.size, help='Reporting file size limit', default=1024 * 1024)] + options_parsed_hook = staticmethod(load_django_models) def _import_default(self, entry, state, entrytype=None, defaults=None, mapping=None, boolean=None, xforms=None): |