added constants. fleshing out message methods

This commit is contained in:
Michael Woods
2025-01-08 11:12:00 -05:00
parent d3f3318315
commit 74e56f4573
2 changed files with 33 additions and 21 deletions

View 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]

View File

@@ -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)