indentation (GulagDB::get_where_clause_from_filters) problem fixed :-/

This commit is contained in:
Dominik Chilla 2018-12-26 20:52:26 +01:00
parent 87fadeeff5
commit 72d7124602
4 changed files with 42 additions and 35 deletions

View File

@ -59,7 +59,8 @@ class Gulag:
for arg in args:
if(arg == 'query_offset' or arg == 'query_limit'
or arg == 'sort_index' or arg == 'sort_order'
or arg == 'rfc822_message' or arg == 'filters'):
or arg == 'rfc822_message' or arg == 'filters'
or arg in self.db.vcols):
continue
if arg not in self.fields[fields_target]:
raise GulagException(

View File

@ -15,7 +15,7 @@ class GulagDBException(Exception):
class GulagDB:
conn = None
uri_prefixes = None
vcols = None
vcols = {}
def __init__(self, args, uri_prefixes):
try:
@ -35,12 +35,12 @@ class GulagDB:
database=args['name'],
autocommit=True
)
except mariadb.Error as e:
raise GulagDBException(whoami(self) + str(e)) from e
self.uri_prefixes = uri_prefixes
# virtual columns cannot not be stated in where-clause
self.vcols['attach_count'] = {}
self.vcols['uri_count'] = {}
except mariadb.Error as e:
raise GulagDBException(whoami(self) + str(e)) from e
def close(self):
self.conn.close()
@ -108,8 +108,8 @@ class GulagDB:
cnt += 1
return where_clause
def get_where_clause_from_filters(self,filters_json):
# {"groupOp":"AND","rules":[{"field":"available","op":"eq","data":"true"}]}
def get_where_clause_from_filters(self,filters_json):
# {"groupOp":"AND","rules":[{"field":"uri_count","op":"eq","data":"3"}]}
filters = None
where_clause = ""
try:
@ -126,6 +126,8 @@ def get_where_clause_from_filters(self,filters_json):
field_op_data = rule['field'] + " like '%" + rule['data'] + "'"
elif(rule['op'] == 'cn'):
field_op_data = rule['field'] + " like '%" + rule['data'] + "%'"
elif(rule['op'] == 'ne'):
field_op_data = rule['field'] + " <>'" + rule['data'] + "'"
if(field_op_data == None):
raise GulagDBException(whoami(self) + "invalid rule-op: " + rule['op'])
if(len(filters['rules']) == 1 or len(where_clause) == 0):

View File

@ -125,4 +125,3 @@ class ResRSPAMDImporter(GulagResource):
return {"resource: ": "HTTP2IMAP for RSPAMD"}
except GulagException as e:
abort(400, message=e.message)

View File

@ -118,6 +118,11 @@ paths:
type: string
required: false
description: get full RFC822 email message for each QuarMail object
- in: query
name: filters
type: string
required: false
description: jqgrid-style search filter
responses:
200:
description: search results matching criteria