|
3 | 3 | import sqlite3 |
4 | 4 | import os.path |
5 | 5 | import os |
6 | | -from datetime import datetime |
| 6 | +from datetime import datetime, timedelta |
7 | 7 | from pytrackunit.tucache import TuCache |
8 | 8 | from pytrackunit.tuiter import SqlIter, TuIter |
9 | 9 | from pytrackunit.helper import get_datetime |
@@ -144,6 +144,7 @@ def __init__(self,auth=None,_dir=None,db_file="webdb.db",upstream_cache=None): |
144 | 144 | self.web_db_path = db_file |
145 | 145 | self._db = sqlite3.connect(self.web_db_path) |
146 | 146 | self.cache = upstream_cache |
| 147 | + self.tdelta_end = None |
147 | 148 | if self.cache is None: |
148 | 149 | self.cache = TuCache(auth,_dir,verbose=True) |
149 | 150 | if create_tables: |
@@ -265,3 +266,21 @@ def get_errors_sql(self, veh_id, start_ts, end_ts, previter=None): |
265 | 266 | (veh_id,start_ts,end_ts))),meta)) |
266 | 267 |
|
267 | 268 | return previter, cnt |
| 269 | + def get_faults(self,veh_id,tdelta=None,previter=None): |
| 270 | + """get_faults method""" |
| 271 | + if self.tdelta_end is None: |
| 272 | + end = datetime.now() |
| 273 | + else: |
| 274 | + end = self.tdelta_end |
| 275 | + end = end.replace(hour=0,minute=0,second=0,microsecond=0) |
| 276 | + if isinstance(tdelta,datetime): |
| 277 | + start = end+tdelta |
| 278 | + else: |
| 279 | + irange = int(tdelta) |
| 280 | + if irange <= 0: |
| 281 | + return [] |
| 282 | + start = end-timedelta(days=irange) |
| 283 | + return self.get_errors(veh_id,start,end,previter) |
| 284 | + def get_faults_timedelta(self,veh_id,start,end,previter=None): |
| 285 | + """get_faults_timedelta""" |
| 286 | + return self.get_errors(veh_id,start,end,previter) |
0 commit comments