mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Added InputFile
This commit is contained in:
parent
914c5fdf0c
commit
65b353ffae
@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import time
|
||||
from datetime import datetime
|
||||
import os
|
||||
|
||||
try:
|
||||
import ujson as json
|
||||
@ -87,6 +88,14 @@ def _make_request(token, method_name, method='get', params=None, files=None):
|
||||
logger.debug("Request: method={0} url={1} params={2} files={3}".format(method, request_url, params, files).replace(token, token.split(':')[0] + ":{TOKEN}"))
|
||||
read_timeout = READ_TIMEOUT
|
||||
connect_timeout = CONNECT_TIMEOUT
|
||||
|
||||
if files:
|
||||
# process types.InputFile
|
||||
for key, value in files.items():
|
||||
if isinstance(value, types.InputFile):
|
||||
files[key] = value.file
|
||||
|
||||
|
||||
if files and format_header_param:
|
||||
fields.format_header_param = _no_encode(format_header_param)
|
||||
if params:
|
||||
|
@ -1,6 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from io import IOBase
|
||||
import logging
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Dict, List, Optional, Union
|
||||
from abc import ABC
|
||||
|
||||
@ -6601,3 +6604,23 @@ class ChatAdministratorRights(JsonDeserializable, JsonSerializable, Dictionaryab
|
||||
|
||||
|
||||
|
||||
class InputFile:
|
||||
def __init__(self, file) -> None:
|
||||
self._file, self.file_name = self._resolve_file(file)
|
||||
|
||||
def _resolve_file(self, file):
|
||||
if isinstance(file, str):
|
||||
_file = open(file, 'rb')
|
||||
return _file, os.path.basename(file.name)
|
||||
elif isinstance(file, IOBase):
|
||||
return file, os.path.basename(file.name)
|
||||
elif isinstance(file, Path):
|
||||
_file = open(file, 'rb')
|
||||
return _file, os.path.basename(file.name)
|
||||
else:
|
||||
raise TypeError("File must be a string or a file-like object(pathlib.Path, io.IOBase).")
|
||||
|
||||
|
||||
@property
|
||||
def file(self):
|
||||
return self._file
|
||||
|
Loading…
Reference in New Issue
Block a user