from __future__ import with_statement from importlib import reload import datetime import time import calendar import json import os import os.path import syslog import sys import locale
import weewx import weecfg import configobj import weedb import weeutil.weeutil import weewx.reportengine import weewx.station import weewx.units import weewx.tags import weewx.uwxutils from collections import OrderedDict from weewx.cheetahgenerator import SearchList from weewx.tags import TimespanBinder from weeutil.weeutil import to_bool, TimeSpan, to_int, archiveDaySpan, archiveWeekSpan, archiveMonthSpan, archiveYearSpan, startOfDay, timestamp_to_string, option_as_list try: from weeutil.config import search_up except: # Pass here because chances are we have an old version of weewx which will get caught below. pass # Check weewx version. Many things like search_up, weeutil.weeutil.KeyDict (label_dict) are from 3.9 if weewx.__version__ < "3.9": raise weewx.UnsupportedFeature("weewx 3.9 and newer is required, found %s" % weewx.__version__) def logmsg(level, msg): syslog.syslog(level, 'Hydrometeo Extension: %s' % msg) def logdbg(msg): logmsg(syslog.LOG_DEBUG, msg) def loginf(msg): logmsg(syslog.LOG_INFO, msg) def logerr(msg): logmsg(syslog.LOG_ERR, msg) # Print version in syslog for easier troubleshooting VERSION = "0.1" loginf("version %s" % VERSION) class ExtraStats(SearchList): def __init__(self, generator): SearchList.__init__(self, generator) def get_extension_list(self, timespan, db_lookup): alltime = TimespanBinder(timespan, db_lookup, formatter=self. generator.formatter, converter=self.generator.converter, skin_dict= self. generator.skin_dict) last2days = self.make_download_data(1, db_lookup) last7days = self.make_download_data(7, db_lookup) search_list_extension = {'last2days' : last2days, 'last7days' : last7days, 'alltime' : alltime} return [search_list_extension] def make_download_data(self, numberofdays, db_lookup): ts_end = datetime.datetime.now() ts_start = datetime.datetime.now() - datetime.timedelta(days= numberofdays) ts_start = ts_start.replace(hour=00, minute=15, second=00, microsecond=00) tsb = TimespanBinder(TimeSpan(time.mktime(ts_start.timetuple()), time.mktime(ts_end.timetuple())), db_lookup,formatter=self.generator. formatter, converter=self.generator.converter, skin_dict= self.generator. skin_dict) spans = tsb.spans(interval=900) return spans This code generates last2days -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/973a62ae-07c2-4719-9a9f-a3a6fd790aea%40googlegroups.com.