Hide keyboard shortcuts

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* 

5 

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 

17 

18class models_members_get(base_model): 

19 """ 

20 The worker class for the models_members_get module 

21 

22 **Key Arguments** 

23 

24 - ``log`` -- logger 

25 - ``request`` -- the pyramid request 

26 - ``elementId`` -- the specific element id requests (or False) 

27  

28 """ 

29 

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

38 

39 log.debug( 

40 "instansiating a new 'models_members_get' object") 

41 return None 

42 

43 def get(self): 

44 """execute the get method on the models_members_get object 

45 

46 **Return** 

47 

48 - ``responseContent`` -- the reponse to send to the browser 

49  

50 """ 

51 self.log.debug('starting the ``get`` method') 

52 

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" 

57 

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 = "" 

65 

66 sqlQuery = u""" 

67 select firstname, secondname from webapp_users where secondname != "doe" %(orderBy)s %(orderDir)s 

68 """ % locals() 

69 

70 membersTmp = self.request.db.execute(sqlQuery).fetchall() 

71 members = [] 

72 members[:] = [dict(list(zip(list(row.keys()), row))) 

73 for row in membersTmp] 

74 

75 self.log.debug('completed the ``get`` method') 

76 return members 

77 

78 # xt-class-method