Skip to content

Commit b886491

Browse files
authored
Merge pull request #9 from splunk/fix-deprecated-utc-lib
Fix - Deprecated UTC Python Function
2 parents 5fb663f + 29f3dd5 commit b886491

11 files changed

+44
-42
lines changed

globalConfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -718,8 +718,8 @@
718718
"validators": [
719719
{
720720
"type": "regex",
721-
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
722-
"errorMsg": "Start time must be in the format YYYY-MM-DDTHH:MM:SSZ (example:2023-01-01T00:00:00Z)"
721+
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z$",
722+
"errorMsg": "Start time must be in the format YYYY-MM-DDTHH:MM:SSZ (example:2023-01-01T00:00:00.000Z)"
723723
}
724724
]
725725
},

package/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,4 +230,5 @@ The input uses checkpointing to avoid ingesting duplicate data. After the initia
230230
## Credits & Acknowledgements
231231
* Yuan Ling
232232
* Marie Duran
233-
* Ashley Hoang
233+
* Ashley Hoang
234+
* Isaac Fonseca

package/bin/input_module_webex_admin_audit_events.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from dateutil.relativedelta import *
44

55
from webex_constants import (
@@ -45,12 +45,12 @@ def collect_events(helper, ew):
4545
)
4646
access_token_expired_time = helper.get_check_point(expiration_checkpoint_key)
4747

48-
now = datetime.utcnow()
48+
now = datetime.now(timezone.utc)
4949

5050
# update the access token if it expired
5151
if (
5252
not access_token_expired_time
53-
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S") < now
53+
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S").replace(tzinfo=timezone.utc) < now
5454
):
5555

5656
helper.log_debug(
@@ -115,10 +115,10 @@ def collect_events(helper, ew):
115115
).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]+'Z'
116116

117117
# set up end time
118-
now = datetime.utcnow()
118+
now = datetime.now(timezone.utc)
119119
helper.log_debug("[-] now: {}".format(now))
120120

121-
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%S.%fZ") < now:
121+
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%S.%fZ").replace(tzinfo=timezone.utc) < now:
122122
end_time = opt_end_time
123123
else:
124124
end_time = now.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]+'Z'

package/bin/input_module_webex_detailed_call_history.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from dateutil.relativedelta import *
44

55
from webex_constants import (
@@ -57,19 +57,19 @@ def collect_events(helper, ew):
5757
else:
5858
# shift 1 second to avoid duplicate
5959
start_time = (
60-
datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%SZ") + timedelta(seconds=1)
61-
).strftime("%Y-%m-%dT%H:%M:%SZ")
60+
datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S.%fZ") + timedelta(seconds=1)
61+
).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]+'Z'
6262

6363
# set up end time
64-
now = datetime.utcnow()
64+
now = datetime.now(timezone.utc)
6565

66-
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ") < now:
66+
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%S.%fZ").replace(tzinfo=timezone.utc) < now:
6767
end_time = opt_end_time
6868
else:
69-
end_time = (now - timedelta(minutes=5)).strftime("%Y-%m-%dT%H:%M:%SZ")
69+
end_time = (now - timedelta(minutes=5)).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]+'Z'
7070

7171
# compare if start_time ?> end_time, if so, break
72-
if datetime.strptime(start_time, "%Y-%m-%dT%H:%M:%SZ") > datetime.strptime(end_time, "%Y-%m-%dT%H:%M:%SZ"):
72+
if datetime.strptime(start_time, "%Y-%m-%dT%H:%M:%S.%fZ") > datetime.strptime(end_time, "%Y-%m-%dT%H:%M:%S.%fZ"):
7373
helper.log_info(
7474
"[-] Finished ingestion for time range {start_time} - {end_time}".format(
7575
start_time=start_time, end_time=end_time
@@ -89,14 +89,15 @@ def collect_events(helper, ew):
8989
expiration_checkpoint_key = _TOKEN_EXPIRES_CHECKPOINT_KEY.format(
9090
account_name=account_name
9191
)
92+
9293
access_token_expired_time = helper.get_check_point(expiration_checkpoint_key)
9394

94-
now = datetime.utcnow()
95+
now = datetime.now(timezone.utc)
9596

9697
# update the access token if it expired
9798
if (
9899
not access_token_expired_time
99-
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S") < now
100+
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S").replace(tzinfo=timezone.utc) < now
100101
):
101102

102103
helper.log_debug(

package/bin/input_module_webex_meeting_qualities.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from dateutil.relativedelta import *
44

55
from webex_constants import (
@@ -46,9 +46,9 @@ def collect_events(helper, ew):
4646
).strftime("%Y-%m-%dT%H:%M:%SZ")
4747

4848
# set up end time
49-
now = datetime.utcnow()
49+
now = datetime.now(timezone.utc)
5050

51-
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ") < now:
51+
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) < now:
5252
end_time = opt_end_time
5353
else:
5454
end_time = now.strftime("%Y-%m-%dT%H:%M:%SZ")
@@ -71,12 +71,12 @@ def collect_events(helper, ew):
7171
)
7272
access_token_expired_time = helper.get_check_point(expiration_checkpoint_key)
7373

74-
now = datetime.utcnow()
74+
now = datetime.now(timezone.utc)
7575

7676
# update the access token if it expired
7777
if (
7878
not access_token_expired_time
79-
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S") < now
79+
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S").replace(tzinfo=timezone.utc) < now
8080
):
8181

8282
helper.log_debug(

package/bin/input_module_webex_meetings.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from dateutil.relativedelta import *
44

55
from webex_constants import (
@@ -69,9 +69,9 @@ def collect_events(helper, ew):
6969
).strftime("%Y-%m-%dT%H:%M:%SZ")
7070

7171
# set up end time
72-
now = datetime.utcnow()
72+
now = datetime.now(timezone.utc)
7373

74-
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ") < now:
74+
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) < now:
7575
end_time = opt_end_time
7676
else:
7777
end_time = now.strftime("%Y-%m-%dT%H:%M:%SZ")
@@ -98,12 +98,12 @@ def collect_events(helper, ew):
9898
)
9999
access_token_expired_time = helper.get_check_point(expiration_checkpoint_key)
100100

101-
now = datetime.utcnow()
101+
now = datetime.now(timezone.utc)
102102

103103
# update the access token if it expired
104104
if (
105105
not access_token_expired_time
106-
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S") < now
106+
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S").replace(tzinfo=timezone.utc) < now
107107
):
108108

109109
helper.log_debug(

package/bin/input_module_webex_meetings_summary_report.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from dateutil.relativedelta import *
44

55
from webex_constants import (
@@ -46,12 +46,12 @@ def collect_events(helper, ew):
4646
)
4747
access_token_expired_time = helper.get_check_point(expiration_checkpoint_key)
4848

49-
now = datetime.utcnow()
49+
now = datetime.now(timezone.utc)
5050

5151
# update the access token if it expired
5252
if (
5353
not access_token_expired_time
54-
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S") < now
54+
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S").replace(tzinfo=timezone.utc) < now
5555
):
5656

5757
helper.log_debug(
@@ -91,9 +91,9 @@ def collect_events(helper, ew):
9191
).strftime("%Y-%m-%dT%H:%M:%SZ")
9292

9393
# set up end time
94-
now = datetime.utcnow()
94+
now = datetime.now(timezone.utc)
9595

96-
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ") < now:
96+
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) < now:
9797
end_time = opt_end_time
9898
else:
9999
end_time = now.strftime("%Y-%m-%dT%H:%M:%SZ")

package/bin/input_module_webex_security_audit_events.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from dateutil.relativedelta import *
44

55
from webex_constants import (
@@ -45,12 +45,12 @@ def collect_events(helper, ew):
4545
)
4646
access_token_expired_time = helper.get_check_point(expiration_checkpoint_key)
4747

48-
now = datetime.utcnow()
48+
now = datetime.now(timezone.utc)
4949

5050
# update the access token if it expired
5151
if (
5252
not access_token_expired_time
53-
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S") < now
53+
or datetime.strptime(access_token_expired_time, "%m/%d/%Y %H:%M:%S").replace(tzinfo=timezone.utc) < now
5454
):
5555

5656
helper.log_debug(
@@ -115,10 +115,10 @@ def collect_events(helper, ew):
115115
).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]+'Z'
116116

117117
# set up end time
118-
now = datetime.utcnow()
118+
now = datetime.now(timezone.utc)
119119
helper.log_debug("[-] now: {}".format(now))
120120

121-
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%S.%fZ") < now:
121+
if opt_end_time and datetime.strptime(opt_end_time, "%Y-%m-%dT%H:%M:%S.%fZ").replace(tzinfo=timezone.utc) < now:
122122
end_time = opt_end_time
123123
else:
124124
end_time = now.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]+'Z'

package/bin/oauth_helper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import import_declare_test
22

3-
from datetime import datetime, timedelta
3+
from datetime import datetime, timedelta, timezone
44
from solnlib import conf_manager
55

66
from webex_constants import _APP_NAME, _REALM, _TOKEN_EXPIRES_CHECKPOINT_KEY, _REFRESH_TOKEN_ENDPOINT
@@ -141,7 +141,7 @@ def update_expiration_checkpoint(self, account_name, new_expires_in):
141141
expiration_checkpoint_key = _TOKEN_EXPIRES_CHECKPOINT_KEY.format(account_name=account_name)
142142

143143
# Calculate expired time for new access token
144-
now = datetime.utcnow()
144+
now = datetime.now(timezone.utc)
145145
delta = int(new_expires_in)
146146
expired_time = (now + timedelta(seconds=delta)).strftime(
147147
"%m/%d/%Y %H:%M:%S"

package/bin/webex_detailed_call_history.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ def validate_input(self, definition):
7878
locations = definition.parameters.get('locations', None)
7979

8080
if start_time_start is not None:
81-
start_time = datetime.strptime(start_time_start, "%Y-%m-%dT%H:%M:%SZ")
81+
start_time = datetime.strptime(start_time_start, "%Y-%m-%dT%H:%M:%S.%fZ")
8282

8383
if start_time <= datetime.now() - timedelta(days=2):
8484
raise ValueError(
8585
"Start time cannot be earlier than 48 hours ago. Please enter a date after {}.".format(datetime.strftime(datetime.now() - timedelta(days=2),"%Y-%m-%d")))
8686

8787
if end_time_start is not None:
88-
end_time = datetime.strptime(end_time_start, "%Y-%m-%dT%H:%M:%SZ")
88+
end_time = datetime.strptime(end_time_start, "%Y-%m-%dT%H:%M:%S.%fZ")
8989

9090
if end_time > datetime.now() + timedelta(days=2):
9191
raise ValueError(

0 commit comments

Comments
 (0)