mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
5da0c6903d
Summary: The Rust bindings now provide a subset of time parsing features. Replace the old Python implementation. This has multiple benefits: - Strong gurarnatee that Rust and Python behave the same. - Parse relative time (ex. `5 minutes ago`) - Parse date beyound i32 range (ex. >= year 2038) Reviewed By: DurhamG Differential Revision: D18946332 fbshipit-source-id: 721f47bc5b2835d7ca0a05ab34ea4faa1a411a4e
24 lines
525 B
Python
24 lines
525 B
Python
import datetime
|
|
import time
|
|
|
|
import bindings
|
|
from edenscm.mercurial import util
|
|
|
|
|
|
def extsetup(ui):
|
|
fakedate = ui.config("fakedate", "date", "1996-03-07 14:00:01Z")
|
|
bindings.hgtime.setnowfortesting(fakedate)
|
|
fakedate = util.parsedate(fakedate)[0]
|
|
|
|
class fakedatetime(datetime.datetime):
|
|
@staticmethod
|
|
def now(tz=None):
|
|
return datetime.datetime.fromtimestamp(fakedate, tz)
|
|
|
|
datetime.datetime = fakedatetime
|
|
|
|
def faketime():
|
|
return fakedate
|
|
|
|
time.time = faketime
|