rubrik-sdk-for-python
rubrik-sdk-for-python copied to clipboard
Timestamp Calculation doesn't work in Windows
In lines 2061 and 2077 in data_management.py, the %s format code is platform-dependent on *nix-like OSes, and the _validate_sql_recovery_point() method (and any dependencies that rely on this method) will abend in Windows with a "invalid string format" error:
recovery_timestamp = int(recovery_date_time.strftime('%s')) * 1000
However, this line is platform-independent, and will work with any Python version:
recovery_timestamp = (recovery_date_time-datetime(1970,1,1,0,0,0)).total_seconds() * 1000
I’ve tested the replacement in a v3.7 venv on my Windows machine, and it appears to fix the problem.
If it is working now, then maybe close this issue?
Ah, when I say "I’ve tested the replacement [...]and it appears to fix the problem" I mean that I am able to test and validate the bug locally on my own environment. It still exists, and still affects anyone using the Data Management portion of the SDK on Windows.
Apologies for any confusion.
Same problem here:
2075 recovery_date_time, '%Y-%m-%dT%H:%M')
2076 # Create recovery timestamp in (ms) as integer from datetime object
-> 2077 recovery_timestamp = int(recovery_date_time.strftime('%s')) * 1000
2078
2079 for range in range_summary['data']:
ValueError: Invalid format string
edit: Also, I'm using python venv 3.6.4. @squintsgeek solutions works for me