Files
postgres-web/pgweb/util/sitestruct.py
Magnus Hagander 69923c7190 Stop using bare exceptions
This is frowned upon in newer versions of pep8, so fix it once and for
all.
2020-01-09 13:14:32 +01:00

25 lines
798 B
Python

from django.conf import settings
def get_all_pages_struct(method='get_struct'):
"""
Return an iterator over all distinct pages on the site.
Each page is returned as a tuple consisting of:
(url, search weight, last_modified)
It will do so by looking for the module "struct" in all
installed applications, and calling the get_struct() function
in all such modules.
"""
for app in settings.INSTALLED_APPS:
if app.startswith('pgweb.'):
try:
m = __import__(app + ".struct", {}, {}, method)
except Exception as e:
# Failed to import - probably module didnd't exist
continue
if hasattr(m, method):
for x in getattr(m, method)():
yield x