New fixes (more bytea fields than I expected)

see #298
This commit is contained in:
Antoine Nguyen
2012-09-18 22:15:11 +02:00
parent 89ee70cf35
commit c3dc06d693
2 changed files with 13 additions and 3 deletions
+11 -1
View File
@@ -126,6 +126,9 @@ class SQLWrapper(object):
rq &= doms_q
return len(Msgrcpt.objects.filter(rq))
def get_mail_content(self, mailid):
return Quarantine.objects.filter(mail=mail_id)
class PgWrapper(SQLWrapper):
def get_mails(self, request, rcptfilter=None):
@@ -149,10 +152,11 @@ class PgWrapper(SQLWrapper):
return Msgrcpt.objects.filter(q).extra(where=where, tables=['maddr']).values("mail_id")
def get_recipient_message(self, address, mailid):
return Msgrcpt.objects.filter(mail=mailid).extra(
qset = Msgrcpt.objects.filter(mail=mailid).extra(
where=["convert_from(maddr.email, 'UTF8') = '%s'" % address],
tables=['maddr']
)
return qset.all()[0]
def get_recipient_messages(self, address, mailids):
return Msgrcpt.objects.filter(mail__in=mailids).extra(
@@ -175,6 +179,12 @@ class PgWrapper(SQLWrapper):
return len(Msgrcpt.objects.filter(rq).extra(where=["convert_from(maddr.email, 'UTF8') ~ '%s'" % (regexp,)], tables=['maddr']))
return len(Msgrcpt.objects.filter(rq))
def get_mail_content(self, mailid):
return Quarantine.objects.filter(mail=mailid).extra(
select={'mail_text' : "convert_from(mail_text, 'UTF8'"}
)
def get_wrapper():
if db_type() == 'postgres':
return PgWrapper()
+2 -2
View File
@@ -99,7 +99,7 @@ def index(request):
def getmailcontent_selfservice(request, mail_id):
from sql_listing import SQLemail
qmails = Quarantine.objects.filter(mail=mail_id)
qmails = get_wrapper().get_mail_content(mail_id)
content = ""
for qm in qmails:
content += qm.mail_text
@@ -114,7 +114,7 @@ def getmailcontent_selfservice(request, mail_id):
def getmailcontent(request, mail_id):
from sql_listing import SQLemail
qmails = Quarantine.objects.filter(mail=mail_id)
qmails = get_wrapper().get_mail_content(mail_id)
content = ""
for qm in qmails:
content += qm.mail_text