Skip to content
Snippets Groups Projects
Commit 1840efa0 authored by Martin Mareš's avatar Martin Mareš
Browse files

gen-mailing-list: Konfigurovatelné výjimky

parent f0e5acf9
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,7 @@ from sqlalchemy import or_ ...@@ -6,7 +6,7 @@ from sqlalchemy import or_
import sys import sys
import mo import mo
import mo.config import mo.config as config
import mo.db as db import mo.db as db
from mo.util import die, init_standalone from mo.util import die, init_standalone
...@@ -17,14 +17,24 @@ args = parser.parse_args() ...@@ -17,14 +17,24 @@ args = parser.parse_args()
init_standalone() init_standalone()
if args.typ != 'garanti-z':
die("Neznámý typ mailing listu")
sess = db.get_session() sess = db.get_session()
users = (sess.query(db.User) users = (sess.query(db.User)
.join(db.UserRole, db.UserRole.user_id == db.User.user_id) .join(db.UserRole, db.UserRole.user_id == db.User.user_id)
.filter(db.UserRole.role.in_([db.RoleType.garant_okres, db.RoleType.garant_kraj, db.RoleType.garant])) .filter(db.UserRole.role.in_([db.RoleType.garant_okres, db.RoleType.garant_kraj, db.RoleType.garant]))
.filter(or_(db.UserRole.year == None, db.UserRole.year == mo.config.CURRENT_YEAR)) .filter(or_(db.UserRole.year == None, db.UserRole.year == config.CURRENT_YEAR))
.filter(or_(db.UserRole.category == None, db.UserRole.category != 'P')) .filter(or_(db.UserRole.category == None, db.UserRole.category != 'P'))
.all()) .all())
addrs = set(u.email for u in users) addrs = set(u.email for u in users)
if hasattr(config, 'MAILING_LIST_INCLUDE') and args.typ in config.MAILING_LIST_INCLUDE:
for addr in config.MAILING_LIST_INCLUDE[args.typ]:
addrs.add(addr)
if hasattr(config, 'MAILING_LIST_EXCLUDE') and args.typ in config.MAILING_LIST_EXCLUDE:
for addr in config.MAILING_LIST_EXCLUDE[args.typ]:
addrs.discard(addr)
for a in sorted(addrs): for a in sorted(addrs):
print(a) print(a)
...@@ -87,3 +87,11 @@ MO_WEB_PASSWD = 'BrumBrum' ...@@ -87,3 +87,11 @@ MO_WEB_PASSWD = 'BrumBrum'
# Povolení loginu bez hesla pro testovací uživatele (s adresou končící na @test). # Povolení loginu bez hesla pro testovací uživatele (s adresou končící na @test).
# Nezapínat mimo testovací prostředí! Bydlí na /test-login/<email>. # Nezapínat mimo testovací prostředí! Bydlí na /test-login/<email>.
#INSECURE_TEST_LOGIN = True #INSECURE_TEST_LOGIN = True
# Výjimky pro bin/gen-mailing-list
MAILING_LIST_INCLUDE = {
# 'garanti-z': ['somebody@example.org'],
}
MAILING_LIST_EXCLUDE = {
# 'garanti-z': ['somebody@example.com'],
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment