def subject_links(domain, subject): # type: (text_type, text_type) -> List[text_type] from zerver.models import get_realm, RealmFilter, realm_filters_for_domain matches = [] # type: List[text_type] realm_filters = realm_filters_for_domain(domain) for realm_filter in realm_filters: pattern = prepare_realm_pattern(realm_filter[0]) for m in re.finditer(pattern, subject): matches += [realm_filter[1] % m.groupdict()] return matches
def subject_links(domain, subject): from zerver.models import get_realm, RealmFilter, realm_filters_for_domain matches = [] try: realm_filters = realm_filters_for_domain(domain) for realm_filter in realm_filters: pattern = prepare_realm_pattern(realm_filter[0]) for m in re.finditer(pattern, subject): matches += [realm_filter[1] % m.groupdict()] return matches except RealmFilter.DoesNotExist: return matches
def maybe_update_realm_filters(domain): from zerver.models import realm_filters_for_domain, all_realm_filters # If domain is None, load all filters if domain is None: all_filters = all_realm_filters() all_filters['default'] = [] for domain, filters in all_filters.iteritems(): make_realm_filters(domain, filters) # Hack to ensure that getConfig("realm") is right for mirrored Zephyrs make_realm_filters("mit.edu/zephyr_mirror", []) else: realm_filters = realm_filters_for_domain(domain) if domain not in realm_filter_data or realm_filter_data[domain] != realm_filters: # Data has changed, re-load filters make_realm_filters(domain, realm_filters)
def maybe_update_realm_filters(domain): from zerver.models import realm_filters_for_domain, all_realm_filters # If domain is None, load all filters if domain is None: all_filters = all_realm_filters() all_filters['default'] = [] for domain, filters in six.iteritems(all_filters): make_realm_filters(domain, filters) # Hack to ensure that getConfig("realm") is right for mirrored Zephyrs make_realm_filters("mit.edu/zephyr_mirror", []) else: realm_filters = realm_filters_for_domain(domain) if domain not in realm_filter_data or realm_filter_data[domain] != realm_filters: # Data has changed, re-load filters make_realm_filters(domain, realm_filters)
def list_filters(request, user_profile): # type: (HttpRequest, UserProfile) -> HttpResponse filters = realm_filters_for_domain(user_profile.realm.domain) return json_success({'filters': filters})