|
30 | 30 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
31 | 31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
32 | 32 |
|
33 | | -import os, datetime, urllib, json, glob |
| 33 | +import os, datetime, urllib, json, glob, re |
| 34 | + |
| 35 | +from contextlib import closing |
34 | 36 |
|
35 | 37 | from django.http import HttpResponse, Http404 , HttpResponseForbidden |
36 | | -from django.shortcuts import render_to_response, get_object_or_404, redirect |
| 38 | +from django.shortcuts import render, render_to_response, get_object_or_404, redirect |
37 | 39 | from django.template import RequestContext |
38 | 40 | from django.template.loader import render_to_string |
39 | 41 | from django.core.exceptions import ObjectDoesNotExist |
@@ -957,3 +959,19 @@ def edit_notify(request, name): |
957 | 959 | 'titletext': titletext, |
958 | 960 | }, |
959 | 961 | context_instance = RequestContext(request)) |
| 962 | + |
| 963 | +def email_aliases(request,name=''): |
| 964 | + doc = get_object_or_404(Document, name=name) if name else None |
| 965 | + if name: |
| 966 | + pattern = re.compile('^expand-(%s)(\..*?)?@.*? +(.*)$'%name) |
| 967 | + else: |
| 968 | + pattern = re.compile('^expand-(.*?)(\..*?)?@.*? +(.*)$') |
| 969 | + aliases = [] |
| 970 | + with closing(open(settings.DRAFT_VIRTUAL_PATH,"r")) as virtual_file: |
| 971 | + for line in virtual_file.readlines(): |
| 972 | + m = pattern.match(line) |
| 973 | + if m: |
| 974 | + aliases.append({'doc_name':m.group(1),'alias_type':m.group(2),'expansion':m.group(3)}) |
| 975 | + |
| 976 | + return render(request,'doc/email_aliases.html',{'aliases':aliases,'ietf_domain':settings.IETF_DOMAIN,'doc':doc}) |
| 977 | + |
0 commit comments