Changeset 53bb3e5 in OpenWorkouts-current for ow/utilities.py
- Timestamp:
- Jan 9, 2019, 12:31:33 PM (5 years ago)
- Branches:
- current, feature/docs, master
- Children:
- 119412d
- Parents:
- e3d7b13
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ow/utilities.py
re3d7b13 r53bb3e5 1 1 import re 2 import datetime 2 from datetime import datetime 3 from decimal import Decimal 4 from shutil import copyfileobj 5 3 6 from unidecode import unidecode 4 7 from xml.dom import minidom 5 from decimal import Decimal8 from ZODB.blob import Blob 6 9 7 10 … … 79 82 rfc3339 = trkpt.getElementsByTagName('time')[0].firstChild.data 80 83 try: 81 t = datetime. datetime.strptime(84 t = datetime.strptime( 82 85 rfc3339, '%Y-%m-%dT%H:%M:%S.%fZ') 83 86 except ValueError: 84 t = datetime. datetime.strptime(87 t = datetime.strptime( 85 88 rfc3339, '%Y-%m-%dT%H:%M:%SZ') 86 89 … … 113 116 'cad': cad, 114 117 'atemp': atemp}) 118 119 120 def semicircles_to_degrees(semicircles): 121 return semicircles * (180 / pow(2, 31)) 122 123 124 def degrees_to_semicircles(degrees): 125 return degrees * (pow(2, 31) / 180) 126 127 128 def miles_to_kms(miles): 129 factor = 0.62137119 130 return miles / factor 131 132 133 def kms_to_miles(kms): 134 factor = 0.62137119 135 return kms * factor 136 137 138 def meters_to_kms(meters): 139 return meters / 1000 140 141 142 def kms_to_meters(kms): 143 return kms * 1000 144 145 146 def mps_to_kmph(mps): 147 """ 148 Transform a value from meters-per-second to kilometers-per-hour 149 """ 150 return mps * 3.6 151 152 153 def kmph_to_mps(kmph): 154 """ 155 Transform a value from kilometers-per-hour to meters-per-second 156 """ 157 return kmph * 0.277778 158 159 160 def copy_blob(blob): 161 """ 162 Create a copy of a blob object, returning another blob object that is 163 the copy of the given blob file. 164 """ 165 new_blob = Blob() 166 if getattr(blob, 'file_extension', None): 167 new_blob.file_extension = blob.file_extension 168 with blob.open('r') as orig_blob, new_blob.open('w') as dest_blob: 169 orig_blob.seek(0) 170 copyfileobj(orig_blob, dest_blob) 171 return new_blob 172 173 174 def create_blob(data, file_extension): 175 """ 176 Create a ZODB blob file from some data, return the blob object 177 """ 178 blob = Blob() 179 blob.file_extension = file_extension 180 with blob.open('w') as open_blob: 181 # use .encode() to convert the string to bytes if needed 182 if not isinstance(data, bytes): 183 data = data.encode('utf-8') 184 open_blob.write(data) 185 return blob
Note: See TracChangeset
for help on using the changeset viewer.