class PyLucidRequestObjects(object): """ PyLucid request objects """ _check_setattr = False def __init__(self, request): self.request = request self.path_info = PathInfo(request) self.preferences_form = SystemPreferencesForm() self.preferences = self.preferences_form.get_preferences() # FIXME: import here, against import loop: from pylucid_project.apps.pylucid.models import Language self.languages = Language.objects.get_languages(request) self.default_language = Language.objects.get_or_create_default(request) try: self.current_language = self.languages[0] except IndexError, err: messages.info(request, ( "There exist no language on this site!" " Used default one." " Go into 'django admin/PyLucid/Languages' and" " add at least one language to this site!" " (Original error was: %s)" ) % err ) self.languages = [self.default_language] self.current_language = self.default_language # Storing extra html head code from plugins, used in: # pylucid.defaulttags.extraheadBlock - redirect {% extrahead %} block tag content # pylucid_plugin.extrahead.context_middleware - insert the data into the global page self.extrahead = extrahead.ExtraHead() # objects witch will be set later: # self.object2comment - Object to comment # self.pagetree - The current PageTree model instance # self.pagemeta - The current PageMeta model instance # # if current page == PageTree.PAGE_TYPE: # a normal content page # self.pagecontent - PageContent instance, attached at pylucid.views._render_page() # elif current page == PageTree.PLUGIN_TYPE: # a plugin page # self.pluginpage - PluginPage instance, attached at pylucid.system.pylucid_plugin.call_plugin() # # self.page_template - The global page template as a string # self.context - The global context self._check_setattr = settings.DEBUG
class PyLucidRequestObjects(object): """ PyLucid request objects """ _check_setattr = False def __init__(self, request): self.request = request self.path_info = PathInfo(request) self.preferences_form = SystemPreferencesForm() self.preferences = self.preferences_form.get_preferences() # FIXME: import here, against import loop: from pylucid_project.apps.pylucid.models import Language self.languages = Language.objects.get_languages(request) self.default_language = Language.objects.get_or_create_default(request) try: self.current_language = self.languages[0] except IndexError, err: messages.info(request, ("There exist no language on this site!" " Used default one." " Go into 'django admin/PyLucid/Languages' and" " add at least one language to this site!" " (Original error was: %s)") % err) self.languages = [self.default_language] self.current_language = self.default_language # Storing extra html head code from plugins, used in: # pylucid.defaulttags.extraheadBlock - redirect {% extrahead %} block tag content # pylucid_plugin.extrahead.context_middleware - insert the data into the global page self.extrahead = extrahead.ExtraHead() # objects witch will be set later: # self.object2comment - Object to comment # self.pagetree - The current PageTree model instance # self.pagemeta - The current PageMeta model instance # # if current page == PageTree.PAGE_TYPE: # a normal content page # self.pagecontent - PageContent instance, attached at pylucid.views._render_page() # elif current page == PageTree.PLUGIN_TYPE: # a plugin page # self.pluginpage - PluginPage instance, attached at pylucid.system.pylucid_plugin.call_plugin() # # self.page_template - The global page template as a string # self.context - The global context self._check_setattr = settings.DEBUG
class BlogPluginAnonymousTestCase(BlogPluginTestCase): def setUp(self): cache.clear() from pylucid_project.apps.pylucid.preference_forms import SystemPreferencesForm self.system_pref_form = SystemPreferencesForm() self.system_preferences = self.system_pref_form.get_preferences() self.system_preferences["message_level_anonymous"] = message_constants.DEBUG self.system_pref_form.save() DEBUG_LANG_FILTER = True settings.PYLUCID.I18N_DEBUG = True self.pref_form = BlogPrefForm() def _set_language_filter(self, language_filter): self.pref_form["language_filter"] = language_filter self.pref_form.save()
class BlogPluginAnonymousTestCase(BlogPluginTestCase): def setUp(self): cache.clear() from pylucid_project.apps.pylucid.preference_forms import SystemPreferencesForm self.system_pref_form = SystemPreferencesForm() self.system_preferences = self.system_pref_form.get_preferences() self.system_preferences["message_level_anonymous"] = message_constants.DEBUG self.system_pref_form.save() DEBUG_LANG_FILTER = True settings.PYLUCID.I18N_DEBUG = True self.pref_form = BlogPrefForm() def _set_language_filter(self, language_filter): self.pref_form["language_filter"] = language_filter self.pref_form.save()
def log_action(self, app_label, action, request=None, message=None, long_message=None, data=None): if request is None: request = ThreadLocal.get_current_request() kwargs = { "uri": request.build_absolute_uri(), "app_label": app_label, "action": action, "message": message, "long_message": long_message, "data": data, } if hasattr(request, "PYLUCID"): kwargs["used_language"] = request.PYLUCID.current_language preferences = request.PYLUCID.preferences # Get SystemPreferences else: from pylucid_project.apps.pylucid.preference_forms import SystemPreferencesForm # import loops preferences_form = SystemPreferencesForm() preferences = preferences_form.get_preferences() for key in META_KEYS: value = request.META.get(key) if value and len(value) > 255: value = "%s..." % value[:252] kwargs[key.lower()] = value new_entry = self.model(**kwargs) new_entry.save() # Auto cleanup Log Table to protect against overloading. max_count = preferences.get("max_log_entries", 1000) queryset = LogEntry.objects.order_by('-createtime') ids = tuple(queryset[max_count:].values_list('id', flat=True)) if ids: queryset.filter(id__in=ids).delete() return new_entry
def log_action(self, app_label, action, request=None, message=None, long_message=None, data=None): if request is None: request = ThreadLocal.get_current_request() kwargs = { "uri": request.build_absolute_uri(), "app_label": app_label, "action": action, "message": message, "long_message": long_message, "data": data, } if hasattr(request, "PYLUCID"): kwargs["used_language"] = request.PYLUCID.current_language preferences = request.PYLUCID.preferences # Get SystemPreferences else: from pylucid_project.apps.pylucid.preference_forms import SystemPreferencesForm # import loops preferences_form = SystemPreferencesForm() preferences = preferences_form.get_preferences() for key in META_KEYS: value = request.META.get(key) if value and len(value) > 255: value = "%s..." % value[:252] kwargs[key.lower()] = value new_entry = self.model(**kwargs) new_entry.save() # Auto cleanup Log Table to protect against overloading. max_count = preferences.get("max_log_entries", 1000) queryset = LogEntry.objects.order_by('-createtime') ids = tuple(queryset[max_count:].values_list('id', flat=True)) if ids: queryset.filter(id__in=ids).delete() return new_entry