def render_sharethis_widget(context, request, name=""): prefix = "kotti_sharethis.sharethis_widget." if name: prefix += name + "." variables = SHARETHIS_WIDGET_DEFAULTS.copy() variables.update(extract_from_settings(prefix)) return render("templates/sharethis_widget.pt", variables, request)
def navigation_settings(name='', settings=None): prefix = 'kotti_navigation.navigation_widget.' if name: prefix += name + '.' # pragma: no cover working_settings = NAVIGATION_WIDGET_DEFAULTS.copy() working_settings.update(extract_from_settings(prefix, settings=settings)) _resolve_dotted(working_settings, ['top_include_content_types']) _resolve_dotted(working_settings, ['left_include_content_types']) _resolve_dotted(working_settings, ['right_include_content_types']) _resolve_dotted(working_settings, ['abovecontent_include_content_types']) _resolve_dotted(working_settings, ['belowcontent_include_content_types']) _resolve_dotted(working_settings, ['beforebodyend_include_content_types']) _resolve_dotted(working_settings, ['top_exclude_content_types']) _resolve_dotted(working_settings, ['left_exclude_content_types']) _resolve_dotted(working_settings, ['right_exclude_content_types']) _resolve_dotted(working_settings, ['abovecontent_exclude_content_types']) _resolve_dotted(working_settings, ['belowcontent_exclude_content_types']) _resolve_dotted(working_settings, ['beforebodyend_exclude_content_types']) return working_settings
def render_profile_widget(context, request, name=''): prefix = 'kotti_twitter.profile_widget.' if name: prefix += name + '.' variables = PROFILE_WIDGET_DEFAULTS.copy() variables.update(extract_from_settings(prefix)) return variables
def render_search_widget(context, request, name=''): prefix = 'kotti_twitter.search_widget.' if name: prefix += name + '.' variables = SEARCH_WIDGET_DEFAULTS.copy() variables.update(extract_from_settings(prefix)) return variables
def render_widget_javascript(context, request, name=''): prefix = 'kotti_jtweetanywhere.profile_widget.' if name: prefix += name + '.' variables = PROFILE_WIDGET_DEFAULTS.copy() variables.update(extract_from_settings(prefix)) return render('templates/widget_javascript.pt', variables, request)
def render_analytics_widget(context, request, name=''): prefix = 'kotti_analytics.' if name: prefix += name + '.' variables = ANALYTICS_WIDGET_DEFAULTS.copy() variables.update(extract_from_settings(prefix)) return render('templates/analytics_widget.pt', variables)
def render_search_widget(context, request, name=''): prefix = 'kotti_twitter.search_widget.' if name: prefix += name + '.' variables = SEARCH_WIDGET_DEFAULTS.copy() variables.update(extract_from_settings(prefix)) return render('templates/search_widget.pt', variables, request)
def navigation_settings(name=''): prefix = 'kotti_navigation.navigation_widget.' if name: prefix += name + '.' # pragma: no cover settings = NAVIGATION_WIDGET_DEFAULTS.copy() settings.update(extract_from_settings(prefix)) _resolve_dotted(settings, ['exclude_content_types']) return settings
def events_settings(name=''): prefix = 'kotti_calendar.upcoming_events_widget.' if name: prefix += name + '.' # pragma: no cover settings = EVENTS_WIDGET_DEFAULTS.copy() settings.update(extract_from_settings(prefix)) try: settings['events_count'] = int(settings['events_count']) except ValueError: settings['events_count'] = 5 return settings
def collection_settings(name=""): prefix = "kotti_software.collection_settings." if name: prefix += name + "." # pragma: no cover settings = SOFTWARECOLLECTION_DEFAULTS.copy() settings.update(extract_from_settings(prefix)) settings["use_batching"] = check_true(settings["use_batching"]) try: settings["pagesize"] = int(settings["pagesize"]) except ValueError: settings["pagesize"] = 5 settings["use_auto_batching"] = check_true(settings["use_auto_batching"]) settings["link_headline_overview"] = check_true(settings["link_headline_overview"]) return settings
def blog_settings(name=''): prefix = 'kotti_blog.blog_settings.' if name: prefix += name + '.' # pragma: no cover settings = BLOG_DEFAULTS.copy() settings.update(extract_from_settings(prefix)) settings['use_batching'] = check_true(settings['use_batching']) try: settings['pagesize'] = int(settings['pagesize']) except ValueError: settings['pagesize'] = 5 settings['use_auto_batching'] = check_true(settings['use_auto_batching']) settings['link_headline_overview'] = check_true(settings['link_headline_overview']) return settings
def forum_settings(name=""): prefix = "kotti_forum.forum_settings." if name: prefix += name + "." # pragma: no cover settings = FORUM_DEFAULTS.copy() settings.update(extract_from_settings(prefix)) settings["use_batching"] = check_true(settings["use_batching"]) try: settings["pagesize"] = int(settings["pagesize"]) except ValueError: settings["pagesize"] = 10 settings["use_auto_batching"] = check_true(settings["use_auto_batching"]) settings["link_headline_overview"] = check_true(settings["link_headline_overview"]) return settings
def collection_settings(name=''): prefix = 'kotti_software.collection_settings.' if name: prefix += name + '.' # pragma: no cover settings = SOFTWARECOLLECTION_DEFAULTS.copy() settings.update(extract_from_settings(prefix)) settings['use_batching'] = check_true(settings['use_batching']) try: settings['pagesize'] = int(settings['pagesize']) except ValueError: settings['pagesize'] = 5 settings['use_auto_batching'] = check_true(settings['use_auto_batching']) settings['link_headline_overview'] = \ check_true(settings['link_headline_overview']) return settings
def extract_depot_settings( prefix: Optional[str] = "kotti.depot.", settings: Optional[Dict[str, str]] = None) -> List[Dict[str, str]]: # noqa """ Merges items from a dictionary that have keys that start with `prefix` to a list of dictionaries. :param prefix: A dotted string representing the prefix for the common values :type prefix: string :param settings: A dictionary with settings. Result is extracted from this :type settings: dict >>> settings = { ... 'kotti.depot_mountpoint': '/depot', ... 'kotti.depot.0.backend': 'kotti.filedepot.DBFileStorage', ... 'kotti.depot.0.file_storage': 'var/files', ... 'kotti.depot.0.name': 'local', ... 'kotti.depot.1.backend': 'depot.io.gridfs.GridStorage', ... 'kotti.depot.1.name': 'mongodb', ... 'kotti.depot.1.uri': 'localhost://', ... } >>> res = extract_depot_settings('kotti.depot.', settings) >>> print(sorted(res[0].items())) [('backend', 'kotti.filedepot.DBFileStorage'), ('file_storage', 'var/files'), ('name', 'local')] >>> print(sorted(res[1].items())) [('backend', 'depot.io.gridfs.GridStorage'), ('name', 'mongodb'), ('uri', 'localhost://')] """ extracted = {} for k, v in extract_from_settings(prefix, settings).items(): index, conf = k.split(".", 1) index = int(index) extracted.setdefault(index, {}) extracted[index][conf] = v result = [] for k in sorted(extracted.keys()): result.append(extracted[k]) return result
def extract_depot_settings( prefix: Optional[str] = "kotti.depot.", settings: Optional[Dict[str, str]] = None ) -> List[Dict[str, str]]: # noqa """ Merges items from a dictionary that have keys that start with `prefix` to a list of dictionaries. :param prefix: A dotted string representing the prefix for the common values :type prefix: string :param settings: A dictionary with settings. Result is extracted from this :type settings: dict >>> settings = { ... 'kotti.depot_mountpoint': '/depot', ... 'kotti.depot.0.backend': 'kotti.filedepot.DBFileStorage', ... 'kotti.depot.0.file_storage': 'var/files', ... 'kotti.depot.0.name': 'local', ... 'kotti.depot.1.backend': 'depot.io.gridfs.GridStorage', ... 'kotti.depot.1.name': 'mongodb', ... 'kotti.depot.1.uri': 'localhost://', ... } >>> res = extract_depot_settings('kotti.depot.', settings) >>> print(sorted(res[0].items())) [('backend', 'kotti.filedepot.DBFileStorage'), ('file_storage', 'var/files'), ('name', 'local')] >>> print(sorted(res[1].items())) [('backend', 'depot.io.gridfs.GridStorage'), ('name', 'mongodb'), ('uri', 'localhost://')] """ extracted = {} for k, v in extract_from_settings(prefix, settings).items(): index, conf = k.split(".", 1) index = int(index) extracted.setdefault(index, {}) extracted[index][conf] = v result = [] for k in sorted(extracted.keys()): result.append(extracted[k]) return result
def _load_image_scales(settings): image_scale_strings = extract_from_settings( 'kotti.image_scales.', settings) for k in image_scale_strings.keys(): image_scales[k] = [int(x) for x in image_scale_strings[k].split("x")]