Skip to content

Commit dd2ffa1

Browse files
committed
reconfigured logging #101
1 parent 577dbd1 commit dd2ffa1

16 files changed

Lines changed: 248 additions & 129 deletions

churchtools_api/calendar.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from datetime import datetime
55
from churchtools_api.churchtools_api_abstract import ChurchToolsApiAbstract
66

7+
logger = logging.getLogger(__name__)
78

89
class ChurchToolsApiCalendar(ChurchToolsApiAbstract):
910
""" Part definition of ChurchToolsApi which focuses on calendars
@@ -35,7 +36,7 @@ def get_calendars(self) -> list[dict]:
3536
response_content = json.loads(response.content)
3637
return response_content['data'].copy()
3738
else:
38-
logging.warning(
39+
logger.warning(
3940
"Something went wrong fetching events: %s", response.status_code)
4041

4142
def get_calendar_appointments(
@@ -88,7 +89,7 @@ def get_calendar_appointments(
8889
if len(to_) == 10:
8990
params['to'] = to_
9091
elif 'to_' in kwargs.keys():
91-
logging.warning(
92+
logger.warning(
9293
'Use of to_ is only allowed together with from_')
9394

9495
response = self.session.get(url=url, params=params, headers=headers)
@@ -102,7 +103,7 @@ def get_calendar_appointments(
102103
result = [response_data] if isinstance(response_data, dict) else response_data
103104

104105
if len(result) == 0:
105-
logging.info(
106+
logger.info(
106107
'There are not calendar appointments with the requested params')
107108
return
108109
# clean result
@@ -115,17 +116,17 @@ def get_calendar_appointments(
115116
return merged_appointments
116117
elif 'appointment' in result[0].keys():
117118
if len(result[0]['calculatedDates']) > 2:
118-
logging.info('returning a series calendar appointment!')
119+
logger.info('returning a series calendar appointment!')
119120
return result
120121
else:
121-
logging.debug(
122+
logger.debug(
122123
'returning a simplified single calendar appointment with one date')
123124
return [appointment['appointment']
124125
for appointment in result]
125126
else:
126-
logging.warning('unexpected result')
127+
logger.warning('unexpected result')
127128

128129
else:
129-
logging.warning(
130+
logger.warning(
130131
"Something went wrong fetching calendar appointments: %s",
131132
response.status_code)

churchtools_api/churchtools_api.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from churchtools_api.calendar import ChurchToolsApiCalendar
1111
from churchtools_api.resources import ChurchToolsApiResources
1212

13+
logger = logging.getLogger(__name__)
1314

1415
class ChurchToolsApi(ChurchToolsApiPersons, ChurchToolsApiEvents, ChurchToolsApiGroups,
1516
ChurchToolsApiSongs, ChurchToolsApiFiles, ChurchToolsApiCalendar, ChurchToolsApiResources):
@@ -48,7 +49,7 @@ def __init__(self, domain, ct_token=None, ct_user=None, ct_password=None):
4849
elif ct_user is not None and ct_password is not None:
4950
self.login_ct_rest_api(ct_user=ct_user, ct_password=ct_password)
5051

51-
logging.debug('ChurchToolsApi init finished')
52+
logger.debug('ChurchToolsApi init finished')
5253

5354
def login_ct_rest_api(self, **kwargs):
5455
"""
@@ -68,26 +69,26 @@ def login_ct_rest_api(self, **kwargs):
6869
self.session = requests.Session()
6970

7071
if 'ct_token' in kwargs.keys():
71-
logging.info('Trying Login with token')
72+
logger.info('Trying Login with token')
7273
url = self.domain + '/api/whoami'
7374
headers = {"Authorization": 'Login ' + kwargs['ct_token']}
7475
response = self.session.get(url=url, headers=headers)
7576

7677
if response.status_code == 200:
7778
response_content = json.loads(response.content)
78-
logging.info(
79+
logger.info(
7980
'Token Login Successful as {}'.format(
8081
response_content['data']['email']))
8182
self.session.headers['CSRF-Token'] = self.get_ct_csrf_token()
8283
return json.loads(response.content)['data']['id']
8384
else:
84-
logging.warning(
85+
logger.warning(
8586
"Token Login failed with {}".format(
8687
response.content.decode()))
8788
return False
8889

8990
elif 'ct_user' in kwargs.keys() and 'ct_password' in kwargs.keys():
90-
logging.info('Trying Login with Username/Password')
91+
logger.info('Trying Login with Username/Password')
9192
url = self.domain + '/api/login'
9293
data = {
9394
'username': kwargs['ct_user'],
@@ -97,11 +98,11 @@ def login_ct_rest_api(self, **kwargs):
9798
if response.status_code == 200:
9899
response_content = json.loads(response.content)
99100
person = self.who_am_i()
100-
logging.info(
101+
logger.info(
101102
'User/Password Login Successful as {}'.format(person['email']))
102103
return person['id']
103104
else:
104-
logging.warning(
105+
logger.warning(
105106
"User/Password Login failed with {}".format(response.content.decode()))
106107
return False
107108

@@ -118,11 +119,11 @@ def get_ct_csrf_token(self):
118119
response = self.session.get(url=url)
119120
if response.status_code == 200:
120121
csrf_token = json.loads(response.content)["data"]
121-
logging.info(
122+
logger.info(
122123
"CSRF Token erfolgreich abgerufen {}".format(csrf_token))
123124
return csrf_token
124125
else:
125-
logging.warning(
126+
logger.warning(
126127
"CSRF Token not updated because of Response {}".format(
127128
response.content.decode()))
128129

@@ -139,17 +140,17 @@ def who_am_i(self):
139140
if response.status_code == 200:
140141
response_content = json.loads(response.content)
141142
if 'email' in response_content['data'].keys():
142-
logging.info(
143+
logger.info(
143144
'Who am I as {}'.format(
144145
response_content['data']['email']))
145146
return response_content['data']
146147
else:
147-
logging.warning(
148+
logger.warning(
148149
'User might not be logged in? {}'.format(
149150
response_content['data']))
150151
return False
151152
else:
152-
logging.warning(
153+
logger.warning(
153154
"Checking who am i failed with {}".format(
154155
response.status_code))
155156
return False
@@ -166,10 +167,10 @@ def check_connection_ajax(self):
166167
}
167168
response = self.session.post(url=url, headers=headers)
168169
if response.status_code == 200:
169-
logging.debug("Response AJAX Connection successful")
170+
logger.debug("Response AJAX Connection successful")
170171
return True
171172
else:
172-
logging.debug(
173+
logger.debug(
173174
"Response AJAX Connection failed with {}".format(
174175
json.load(
175176
response.content)))
@@ -188,12 +189,12 @@ def get_global_permissions(self) -> dict:
188189
if response.status_code == 200:
189190
response_content = json.loads(response.content)
190191
response_data = response_content['data'].copy()
191-
logging.debug(
192+
logger.debug(
192193
"First response of Global Permissions successful {}".format(response_content))
193194

194195
return response_data
195196
else:
196-
logging.warning(
197+
logger.warning(
197198
"Something went wrong fetching global permissions: {}".format(
198199
response.status_code))
199200

@@ -226,10 +227,10 @@ def get_services(self, **kwargs):
226227
result[item['id']] = item
227228
response_data = result
228229

229-
logging.debug("Services load successful {}".format(response_data))
230+
logger.debug("Services load successful with {} entries".format(len(response_data)))
230231
return response_data
231232
else:
232-
logging.info(
233+
logger.info(
233234
"Services requested failed: {}".format(
234235
response.status_code))
235236
return None
@@ -257,10 +258,10 @@ def get_tags(self, type='songs'):
257258
if response.status_code == 200:
258259
response_content = json.loads(response.content)
259260
response_data = response_content['data'].copy()
260-
logging.debug(
261+
logger.debug(
261262
"SongTags load successful {}".format(response_content))
262263

263264
return response_content['data']
264265
else:
265-
logging.warning(
266+
logger.warning(
266267
"Something went wrong fetching Song-tags: {}".format(response.status_code))

churchtools_api/churchtools_api_abstract.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import json
33
import logging
44

5+
logger = logging.getLogger(__name__)
6+
57
class ChurchToolsApiAbstract(ABC):
68
"""This abstract is used to define minimum references available for all api parts
79
@@ -31,7 +33,7 @@ def combine_paginated_response_data(
3133
if meta := response_content.get("meta"):
3234
if pagination := meta.get("pagination"):
3335
for page in range(pagination["current"], pagination["lastPage"]):
34-
logging.debug(
36+
logger.debug(
3537
"running paginated request for page {} of {}".format(
3638
page + 1,
3739
pagination["lastPage"] + 1,

0 commit comments

Comments
 (0)