def onResponse(self, dialog, responseId): if responseId == gtk.ResponseType.OK: timeZone = self.timeZoneInput.get_text() try: natz.gettz(timeZone) except Exception as e: self.errorLabel.set_text( _("Time zone is invalid") + "\n" + str(e) ) else: try: for event in ui.iterAllEvents(): event.timeZone = timeZone event.afterModify() event.save() except Exception as e: self.errorLabel.set_text( str(e) ) else: self.hide() else: self.hide() while gtk.events_pending(): gtk.main_iteration_do(False)
def doAction(self): container = self._container if self.iconRadio.get_active(): chType = self.iconChangeCombo.get_active() if chType != 0: icon = self.iconSelect.get_filename() for event in container: if not (chType == 2 and event.icon): event.icon = icon event.afterModify() event.save() elif self.timeZoneRadio.get_active(): chType = self.timeZoneChangeCombo.get_active() timeZone = self.timeZoneInput.get_text() if chType != 0: try: natz.gettz(timeZone) except: myRaise("Invalid Time Zone \"%s\"" % timeZone) else: for event in container: if not (chType == 2 and event.timeZone): event.timeZone = timeZone event.afterModify() event.save() else: chType = self.textChangeCombo.get_active() if chType != 0: text1 = self.textInput1.get_text() text2 = self.textInput2.get_text() if self.summaryRadio.get_active(): for event in container: if chType == 1: event.summary = text1 + event.summary elif chType == 2: event.summary = event.summary + text1 elif chType == 3: event.summary = event.summary.replace(text1, text2) event.afterModify() event.save() elif self.descriptionRadio.get_active(): for event in container: if chType == 1: event.description = text1 + event.description elif chType == 2: event.description = event.description + text1 elif chType == 3: event.description = event.description.replace( text1, text2) event.afterModify() event.save()
def doAction(self): container = self._container if self.iconRadio.get_active(): chType = self.iconChangeCombo.get_active() if chType != 0: icon = self.iconSelect.get_filename() for event in container: if not (chType == 2 and event.icon): event.icon = icon event.afterModify() event.save() elif self.timeZoneRadio.get_active(): chType = self.timeZoneChangeCombo.get_active() timeZone = self.timeZoneInput.get_text() if chType != 0: try: natz.gettz(timeZone) except: myRaise("Invalid Time Zone \"%s\"" % timeZone) else: for event in container: if not (chType == 2 and event.timeZone): event.timeZone = timeZone event.afterModify() event.save() else: chType = self.textChangeCombo.get_active() if chType != 0: text1 = self.textInput1.get_text() text2 = self.textInput2.get_text() if self.summaryRadio.get_active(): for event in container: if chType == 1: event.summary = text1 + event.summary elif chType == 2: event.summary = event.summary + text1 elif chType == 3: event.summary = event.summary.replace(text1, text2) event.afterModify() event.save() elif self.descriptionRadio.get_active(): for event in container: if chType == 1: event.description = text1 + event.description elif chType == 2: event.description = event.description + text1 elif chType == 3: event.description = event.description.replace(text1, text2) event.afterModify() event.save()
def onResponse(self, dialog, responseId): if responseId == gtk.ResponseType.OK: timeZone = self.timeZoneInput.get_text() try: natz.gettz(timeZone) except Exception as e: self.errorLabel.set_text( _("Time zone is invalid") + "\n" + str(e)) else: try: for event in ui.iterAllEvents(): event.timeZone = timeZone event.afterModify() event.save() except Exception as e: self.errorLabel.set_text(str(e)) else: self.hide() else: self.hide() while gtk.events_pending(): gtk.main_iteration_do(False)
def getUtcOffsetByGDate(year, month, day, tz=None): if year <= 0: return 0 if year >= 10000: return 0 if not tz: tz = natz.gettz() try: dt = datetime(year, month, day) except ValueError as e: print("year=", year, "error:", e) return 0 return tz.utcoffset(dt).total_seconds()
def getUtcOffsetByEpoch(epoch, tz=None): if epoch < J0001_epoch: return 0 if epoch >= G10000_epoch: return 0 if not tz: tz = natz.gettz() try: dt = datetime.fromtimestamp(epoch) except ValueError as e: print("epoch=", epoch, "error:", e) return 0 return tz.utcoffset(dt).total_seconds()
def getUtcOffsetByGDate(year, month, day, tz=None): if year <= 0: return 0 if year >= 10000: return 0 if not tz: tz = natz.gettz() try: dt = datetime(year, month, day) except ValueError as e: print("year=", year, "error:", e) return 0 return tz.utcoffset(dt).total_seconds()
def getUtcOffsetByEpoch(epoch, tz=None): if epoch < J0001_epoch: return 0 if epoch >= G10000_epoch: return 0 if not tz: tz = natz.gettz() try: dt = datetime.fromtimestamp(epoch) except ValueError as e: print("epoch=", epoch, "error:", e) return 0 return tz.utcoffset(dt).total_seconds()
def getUtcOffsetByJd(jd, tz=None): if not tz: tz = natz.gettz() tzStr = str(tz) # utcOffsetByJdCache: {tzStr => {jd => utcOffset}} if jd >= J1970: tzDict = utcOffsetByJdCache.get(tzStr) if tzDict is None: tzDict = utcOffsetByJdCache[tzStr] = {} offset = tzDict.get(jd) if offset is None: y, m, d = jd_to_g(jd) offset = tzDict[jd] = getUtcOffsetByGDate(y, m, d, tz) else: y, m, d = jd_to_g(jd) offset = getUtcOffsetByGDate(y, m, d, tz) return offset
def getUtcOffsetByJd(jd, tz=None): if not tz: tz = natz.gettz() tzStr = str(tz) # utcOffsetByJdCache: {tzStr => {jd => utcOffset}} if jd >= J1970: tzDict = utcOffsetByJdCache.get(tzStr) if tzDict is None: tzDict = utcOffsetByJdCache[tzStr] = {} offset = tzDict.get(jd) if offset is None: y, m, d = jd_to_g(jd) offset = tzDict[jd] = getUtcOffsetByGDate(y, m, d, tz) else: y, m, d = jd_to_g(jd) offset = getUtcOffsetByGDate(y, m, d, tz) return offset
import natz from .path import * from scal3.utils import StrOrderedDict, myRaise from scal3.utils import toBytes, toStr from scal3.json_utils import * from scal3.s_object import JsonSObj from scal3.cal_types import calTypes #import codecs #def open (filename, mode="r"): # return codecs.open(filename, mode=mode, encoding="utf-8") ########################################################## localTz = natz.gettz() localTzStr = str(localTz) # FIXME: looks like in some cases localTzStr == "etc/localtime" print("Local Timezone:", localTzStr) ########################################################## confPath = join(confDir, "locale.json") confParams = ( "lang", "enableNumLocale", ) def loadConf():
getEpochFromJd, ) from scal3.os_utils import kill, goodkill from scal3.utils import myRaise #from scal3 import event_lib## needs core!! FIXME from threading import Timer #if "gtk" in sys.modules: from pray_times_gtk import * #else: # from pray_times_qt import * #################################################### localTz = natz.gettz() ####################### Methods and Classes ################## def readLocationData(): lines = open(dataDir + "/locations.txt").read().split("\n") cityData = [] country = "" for l in lines: p = l.split("\t") if len(p) < 2: #print(p) continue if p[0] == "":