mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-29 13:27:47 +00:00
Refactor Venue and Location
This commit is contained in:
parent
e5e0b17809
commit
c84fca30a2
@ -16,6 +16,7 @@
|
|||||||
# You should have received a copy of the GNU Lesser General Public License
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from pyrogram.api import types
|
||||||
from pyrogram.api.core import Object
|
from pyrogram.api.core import Object
|
||||||
|
|
||||||
|
|
||||||
@ -32,6 +33,20 @@ class Location(Object):
|
|||||||
|
|
||||||
ID = 0xb0700012
|
ID = 0xb0700012
|
||||||
|
|
||||||
def __init__(self, longitude: float, latitude: float):
|
def __init__(self, longitude: float, latitude: float, *,
|
||||||
|
client=None, raw=None):
|
||||||
self.longitude = longitude
|
self.longitude = longitude
|
||||||
self.latitude = latitude
|
self.latitude = latitude
|
||||||
|
|
||||||
|
self._client = client
|
||||||
|
self._raw = raw
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def parse(client, geo_point: types.GeoPoint) -> "Location":
|
||||||
|
if isinstance(geo_point, types.GeoPoint):
|
||||||
|
return Location(
|
||||||
|
longitude=geo_point.long,
|
||||||
|
latitude=geo_point.lat,
|
||||||
|
client=client,
|
||||||
|
raw=geo_point
|
||||||
|
)
|
||||||
|
@ -16,7 +16,9 @@
|
|||||||
# You should have received a copy of the GNU Lesser General Public License
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from pyrogram.api import types
|
||||||
from pyrogram.api.core import Object
|
from pyrogram.api.core import Object
|
||||||
|
from .location import Location
|
||||||
|
|
||||||
|
|
||||||
class Venue(Object):
|
class Venue(Object):
|
||||||
@ -43,16 +45,26 @@ class Venue(Object):
|
|||||||
|
|
||||||
ID = 0xb0700013
|
ID = 0xb0700013
|
||||||
|
|
||||||
def __init__(
|
def __init__(self, location, title: str, address: str, *,
|
||||||
self,
|
foursquare_id: str = None, foursquare_type: str = None,
|
||||||
location,
|
client=None, raw=None):
|
||||||
title: str,
|
|
||||||
address: str,
|
|
||||||
foursquare_id: str = None,
|
|
||||||
foursquare_type: str = None
|
|
||||||
):
|
|
||||||
self.location = location
|
self.location = location
|
||||||
self.title = title
|
self.title = title
|
||||||
self.address = address
|
self.address = address
|
||||||
self.foursquare_id = foursquare_id
|
self.foursquare_id = foursquare_id
|
||||||
self.foursquare_type = foursquare_type
|
self.foursquare_type = foursquare_type
|
||||||
|
|
||||||
|
self._client = client
|
||||||
|
self._raw = raw
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def parse(client, venue: types.MessageMediaVenue):
|
||||||
|
return Venue(
|
||||||
|
location=Location.parse(client, venue.geo),
|
||||||
|
title=venue.title,
|
||||||
|
address=venue.address,
|
||||||
|
foursquare_id=venue.venue_id or None,
|
||||||
|
foursquare_type=venue.venue_type,
|
||||||
|
client=client,
|
||||||
|
raw=venue
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user