added constants. fleshing out message methods
This commit is contained in:
2
src/packetserver/common/constants.py
Normal file
2
src/packetserver/common/constants.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
no_values = [0, '0', 'n', 'N', 'f', 'F', 'no', 'NO', False]
|
||||||
|
yes_values = [1, '1', 'y', 'Y', 't', 'T', 'yes', 'YES', True]
|
||||||
@@ -7,6 +7,7 @@ import datetime
|
|||||||
from typing import Self,Union,Optional,Iterable,Sequence
|
from typing import Self,Union,Optional,Iterable,Sequence
|
||||||
from packetserver.common import PacketServerConnection, Request, Response, send_response, send_blank_response
|
from packetserver.common import PacketServerConnection, Request, Response, send_response, send_blank_response
|
||||||
from packetserver.common import Message as PacketMessage
|
from packetserver.common import Message as PacketMessage
|
||||||
|
from packetserver.common.constants import yes_values, no_values
|
||||||
import ZODB
|
import ZODB
|
||||||
import logging
|
import logging
|
||||||
import uuid
|
import uuid
|
||||||
@@ -190,9 +191,18 @@ class Message(persistent.Persistent):
|
|||||||
return send_counter, failed
|
return send_counter, failed
|
||||||
|
|
||||||
DisplayOptions = namedtuple('DisplayOptions', ['get_text', 'limit', 'sort_by', 'reverse', 'search',
|
DisplayOptions = namedtuple('DisplayOptions', ['get_text', 'limit', 'sort_by', 'reverse', 'search',
|
||||||
'get_attachments', 'sent_unsent'])
|
'get_attachments', 'sent_received_all'])
|
||||||
|
|
||||||
def parse_display_options(req: Request) -> DisplayOptions:
|
def parse_display_options(req: Request) -> DisplayOptions:
|
||||||
|
sent_received_all = "received"
|
||||||
|
d = req.vars.get("source")
|
||||||
|
if type(d) is str:
|
||||||
|
d.lower().strip()
|
||||||
|
if d == "sent":
|
||||||
|
sent_received_all = "sent"
|
||||||
|
elif d == "all":
|
||||||
|
sent_received_all = "all"
|
||||||
|
|
||||||
limit = req.vars.get('limit')
|
limit = req.vars.get('limit')
|
||||||
try:
|
try:
|
||||||
limit = int(limit)
|
limit = int(limit)
|
||||||
@@ -202,27 +212,35 @@ def parse_display_options(req: Request) -> DisplayOptions:
|
|||||||
d = req.vars.get('fetch_text')
|
d = req.vars.get('fetch_text')
|
||||||
if type(d) is str:
|
if type(d) is str:
|
||||||
d.lower().strip()
|
d.lower().strip()
|
||||||
if d in [1, 'y', True, 'yes', 'true', 't']:
|
if d in no_values:
|
||||||
get_data = True
|
get_text = False
|
||||||
else:
|
else:
|
||||||
get_data = False
|
get_text = True
|
||||||
|
|
||||||
|
d = req.vars.get('fetch_attachments')
|
||||||
|
if type(d) is str:
|
||||||
|
d.lower().strip()
|
||||||
|
if d in yes_values:
|
||||||
|
get_attachments = True
|
||||||
|
else:
|
||||||
|
get_attachments = False
|
||||||
|
|
||||||
r = req.vars.get('reverse')
|
r = req.vars.get('reverse')
|
||||||
if type(r) is str:
|
if type(r) is str:
|
||||||
r.lower().strip()
|
r.lower().strip()
|
||||||
if r in [1, 'y', True, 'yes', 'true', 't']:
|
if r in yes_values:
|
||||||
reverse = True
|
reverse = True
|
||||||
else:
|
else:
|
||||||
reverse = False
|
reverse = False
|
||||||
|
|
||||||
sort = req.vars.get('sort')
|
sort = req.vars.get('sort')
|
||||||
sort_by = "name"
|
sort_by = "date"
|
||||||
if type(sort) is str:
|
if type(sort) is str:
|
||||||
sort = sort.lower().strip()
|
sort = sort.lower().strip()
|
||||||
if sort == "date":
|
if sort == "from":
|
||||||
sort_by = "date"
|
sort_by = "from"
|
||||||
elif sort == "size":
|
elif sort == "to":
|
||||||
sort_by = "size"
|
sort_by = "to"
|
||||||
|
|
||||||
s = req.vars.get('search')
|
s = req.vars.get('search')
|
||||||
search = None
|
search = None
|
||||||
@@ -231,11 +249,12 @@ def parse_display_options(req: Request) -> DisplayOptions:
|
|||||||
if s:
|
if s:
|
||||||
search = str(s)
|
search = str(s)
|
||||||
|
|
||||||
return DisplayOptions(get_data, limit, sort_by, reverse, search)
|
return DisplayOptions(get_text, limit, sort_by, reverse, search, get_attachments, sent_receive_all)
|
||||||
|
|
||||||
|
|
||||||
def handle_message_get(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
def handle_message_get(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
||||||
pass
|
opts = parse_display_options(req)
|
||||||
|
|
||||||
|
|
||||||
def object_root_handler(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
def object_root_handler(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
||||||
logging.debug(f"{req} being processed by user_root_handler")
|
logging.debug(f"{req} being processed by user_root_handler")
|
||||||
@@ -251,12 +270,3 @@ def object_root_handler(req: Request, conn: PacketServerConnection, db: ZODB.DB)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user