vk feed module

This commit is contained in:
2019-01-25 19:33:22 +03:00
parent 747713bce0
commit 90d8c02a08
9 changed files with 147 additions and 13 deletions

View File

@@ -1,7 +1,11 @@
import yaml
from django.views.generic import TemplateView
from djconfig import config
from jconfig.base import BaseConfig
from yaml.parser import ParserError
from cabinet.utils import CabinetViewMixin
from feeds.forms import FeedForm, get_config_form
from feeds.forms import FeedForm, get_config_form, FeedsAppConfigForm
from feeds.models import Feed
@@ -36,3 +40,19 @@ class BaseFeedConfigView(CabinetViewMixin, TemplateView):
ctx['feed_form'], ctx['config_form'] = self.get_forms() if forms is None else forms
ctx['feed_module'] = self.get_content_type().model_class()
return ctx
class DatabaseConfig(BaseConfig):
__slots__ = ()
def load(self, **kwargs):
config._reload_maybe()
try:
settings = yaml.load(config.vk_auth)
except (ParserError, AttributeError):
settings = {}
settings.setdefault(self.section_name, {})
return settings
def save(self):
FeedsAppConfigForm(data={'vk_auth': yaml.dump(self._settings)}).save()