Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#!/usr/local/bin/python
2# encoding: utf-8
3"""
4*The model get for the `models_members_get.py` resource*
6:Author:
7 David Young
8"""
9from builtins import zip
10from builtins import object
11import sys
12import os
13import khufu
14import collections
15import re
16from dryxPyramid.models.models_base import base_model
18class models_members_get(base_model):
19 """
20 The worker class for the models_members_get module
22 **Key Arguments**
24 - ``log`` -- logger
25 - ``request`` -- the pyramid request
26 - ``elementId`` -- the specific element id requests (or False)
28 """
30 def __init__(self, log, request, elementId=False, search=False):
31 super().__init__(log, request, elementId, search)
32 self.resourceName = "members"
33 self.defaultQs = {
34 "sortBy": "secondname",
35 "sortDesc": False
36 }
37 self._set_default_parameters()
39 log.debug(
40 "instansiating a new 'models_members_get' object")
41 return None
43 def get(self):
44 """execute the get method on the models_members_get object
46 **Return**
48 - ``responseContent`` -- the reponse to send to the browser
50 """
51 self.log.debug('starting the ``get`` method')
53 if "sortBy" in self.qs and self.qs["sortBy"] is not False:
54 orderBy = " order by " + self.qs["sortBy"]
55 else:
56 orderBy = " order by secondname"
58 if "sortDesc" in self.qs:
59 if self.qs["sortDesc"] == "True" or self.qs["sortDesc"] == True:
60 orderDir = "desc"
61 else:
62 orderDir = ""
63 else:
64 orderDir = ""
66 sqlQuery = u"""
67 select firstname, secondname from webapp_users where secondname != "doe" %(orderBy)s %(orderDir)s
68 """ % locals()
70 membersTmp = self.request.db.execute(sqlQuery).fetchall()
71 members = []
72 members[:] = [dict(list(zip(list(row.keys()), row)))
73 for row in membersTmp]
75 self.log.debug('completed the ``get`` method')
76 return members
78 # xt-class-method