flask-website/flask/floritiweb/lib/snippets/email.py
2025-05-15 21:16:00 +02:00

80 lines
2.7 KiB
Python

from markupsafe import Markup
#from jinja2 import Markup
mail_registry = {}
def email( self,
an=None,
kuerzel=None,
name=None,
body=None,
subject=None,
title_include_email=False
):
k = an or kuerzel
if k not in mail_registry:
k = 'ub'
kuerzel = mail_registry[k]
realname = kuerzel[0]
if name == '{@}':
masked_addr = kuerzel[1].replace('@', """
<img src="/bilder/inOCRable_at-sign.png
title="Klammeraffe" style="height:1em;position:relative;top:2px;right:1px;"
alt="&#64;"
/>
""")
name = ( masked_addr[0] +
'<span class="unsichtbar" title="Hierüber sollen Adress-Sammelprogramme stolpern, '
'Sie stolpern hoffentlich nicht:">LÖSCHE-DIESE-SP@MVERHINDERUNG</span>'
+ masked_addr[1:]
)
if name is None:
name = realname
if title_include_email is True:
realname += f'&lt;{kuerzel[1]}&gt;'
return (
# Markup(f'<a href="{self.root()}kontakt/email.html?adr={k}')
Markup(f'<a href="mailto:{kuerzel[1]}"')
+ (Markup('&subject=') + subject if subject is not None else '')
+ (Markup("&body=") + body if body is not None else '')
+ Markup(f'" title="mit Ihrem E-Mail-Programm eine E-Mail an {realname} senden">{self.img(name="email")} {name}</a>')
)
with open("/web/etc/allowed.adress") as fh:
for line in fh:
line = line.rstrip("\r\n")
kuerzel, name, mail = line.split(";")
mail_registry[kuerzel] = (name, mail)
#
# open my $fh, '<', "/web/etc/allowed.adress" or die $!;
#
# while ( my $line = <$fh> ) {
# chomp $line;
# my ($kuerzel,$name,$mail) = split /;/, $line;
# $kuerzel{$kuerzel} = [$name, $mail];
# }
#
# </%class>
#
# <%perl>
# my $k = $.an || $.kuerzel;
# my $kuerzel = $kuerzel{$k} || $kuerzel{$k='ub'};
# my $realname = $kuerzel->[0];
# if ( ($.name//"") eq "{@}" ) {
# (my $masked_adr = $kuerzel->[1] )
# =~ s{@}{<img src="/bilder/inOCRable_at-sign.png" title="Klammeraffe" style="height:1em;position:relative;top:2px;right:1px;" alt="&#64;" />};
# substr($masked_adr, 1, 0, q{<span class="unsichtbar" title="Hierüber sollen Adress-Sammelprogramme stolpern, Sie stolpern hoffentlich nicht:">LÖSCHE-DIESE-SP@MVERHINDERUNG</span>});
# $.name($masked_adr);
# }
# my $name = $.name || $realname;
# $realname .= sprintf(' &lt;%s&gt;', $kuerzel->[1]) if $.title_include_email;
# </%perl>
#
# <a href="<% $m->page->root() %>/kontakt/email.html?adr=<% $k %>;subject=<% $.subject %>;body=<% $.body %>" title="zum Formular, um E-Mail an <% $realname %> zu senden"><& /nav1/img, name => 'email' &><% $name %></a>