mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
simplify how the local offset is passed around
- no need to store it in conf - move local_minutes_west() call to collection
This commit is contained in:
parent
dc8cf9d554
commit
cd9ceebd59
2 changed files with 10 additions and 11 deletions
|
@ -138,10 +138,6 @@ class _Collection:
|
||||||
self.sched = V1Scheduler(self)
|
self.sched = V1Scheduler(self)
|
||||||
elif ver == 2:
|
elif ver == 2:
|
||||||
self.sched = V2Scheduler(self)
|
self.sched = V2Scheduler(self)
|
||||||
if not self.server:
|
|
||||||
self.conf["localOffset"] = self.sched._current_timezone_offset()
|
|
||||||
elif self.server.minutes_west is not None:
|
|
||||||
self.conf["localOffset"] = self.server.minutes_west
|
|
||||||
|
|
||||||
def changeSchedulerVer(self, ver: int) -> None:
|
def changeSchedulerVer(self, ver: int) -> None:
|
||||||
if ver == self.schedVer():
|
if ver == self.schedVer():
|
||||||
|
@ -164,12 +160,13 @@ class _Collection:
|
||||||
|
|
||||||
self._loadScheduler()
|
self._loadScheduler()
|
||||||
|
|
||||||
|
# the sync code uses this to send the local timezone to AnkiWeb
|
||||||
def localOffset(self) -> Optional[int]:
|
def localOffset(self) -> Optional[int]:
|
||||||
"Minutes west of UTC. Only applies to V2 scheduler."
|
"Minutes west of UTC. Only applies to V2 scheduler."
|
||||||
if isinstance(self.sched, V1Scheduler):
|
if isinstance(self.sched, V1Scheduler):
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
return self.sched._current_timezone_offset()
|
return self.backend.local_minutes_west(intTime())
|
||||||
|
|
||||||
# DB-related
|
# DB-related
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -1392,14 +1392,16 @@ where id = ?
|
||||||
self._rolloverHour(),
|
self._rolloverHour(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def _current_timezone_offset(self) -> int:
|
def _current_timezone_offset(self) -> Optional[int]:
|
||||||
if self.col.server:
|
if self.col.server:
|
||||||
return self.col.conf.get("localOffset", None)
|
mins = self.col.server.minutes_west
|
||||||
|
if mins is not None:
|
||||||
|
return mins
|
||||||
|
# older Anki versions stored the local offset in
|
||||||
|
# the config
|
||||||
|
return self.col.conf.get("localOffset", 0)
|
||||||
else:
|
else:
|
||||||
# note: while we could return None to sched_timing_today to have
|
return None
|
||||||
# the backend calculate it, this function is also used to set
|
|
||||||
# localOffset, so it must not return None
|
|
||||||
return self.col.backend.local_minutes_west(intTime())
|
|
||||||
|
|
||||||
def _creation_timezone_offset(self) -> Optional[int]:
|
def _creation_timezone_offset(self) -> Optional[int]:
|
||||||
return self.col.conf.get("creationOffset", None)
|
return self.col.conf.get("creationOffset", None)
|
||||||
|
|
Loading…
Reference in a new issue