From 3537e9bcc9060e45f8d4d6714875c23608c7afc5 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Thu, 28 Dec 2017 12:32:16 +0100 Subject: [PATCH] Support more types to represent a date --- telethon/tl/tlobject.py | 20 +++++++++++++++++++- telethon_generator/tl_generator.py | 6 +----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/telethon/tl/tlobject.py b/telethon/tl/tlobject.py index 489765e2..0ed7b015 100644 --- a/telethon/tl/tlobject.py +++ b/telethon/tl/tlobject.py @@ -1,4 +1,5 @@ -from datetime import datetime +import struct +from datetime import datetime, date from threading import Event @@ -125,6 +126,23 @@ class TLObject: r.append(bytes(padding)) return b''.join(r) + @staticmethod + def serialize_datetime(dt): + if not dt: + return b'\0\0\0\0' + + if isinstance(dt, datetime): + dt = int(dt.timestamp()) + elif isinstance(dt, date): + dt = int(datetime(dt.year, dt.month, dt.day, dt).timestamp()) + elif isinstance(dt, float): + dt = int(dt) + + if isinstance(dt, int): + return struct.pack('