Lonami Exo
664417b409
Use sqlite3 instead JSON for the session files
2017-12-26 16:45:47 +01:00
Tanuj
c218df87d7
Remove reference to README.rst ( #504 )
2017-12-25 17:26:29 +01:00
Lonami Exo
5842d3741b
Make a proper use of the logging module
2017-12-20 12:47:39 +01:00
Lonami Exo
edd73ed69a
Allow switching from IPv4 to IPv6 and vice versa
2017-11-16 13:40:25 +01:00
Vladislav Kolesnichenko
ee5915e86d
Add support for connecting through IPv6 ( #425 for #112 )
2017-11-16 13:30:18 +01:00
Lonami Exo
959e824c1c
Reduce indent level to simplify flow on __call__
2017-11-16 13:26:49 +01:00
Lonami Exo
778c844a64
Use logger.exception instead logger.error on ReadThread
2017-11-16 13:25:13 +01:00
Lonami Exo
4ac88a1505
Use ._logger.exception when .connect fails ( #373 )
2017-11-13 10:58:10 +01:00
Lonami Exo
07cb001854
Attempt at cleaning up reconnection logic
2017-11-13 10:31:32 +01:00
Lonami Exo
99512875a2
Reconnect if invoking failed ( #270 )
2017-11-12 16:25:56 +01:00
Andrei Fokau
ef794bf75d
Fix importing dependencies during installing ( #384 )
2017-10-28 12:21:07 +02:00
Lonami Exo
ceb37cd4c5
Move auth_key generation and InitConnection logic to .invoke()
...
The reasoning behind this is that .connect() should not call
any request at all, it should only connect to the servers
although it currently still calls GetStateRequest.
There were some issues (#291 , #360 ) where the auth_key was None
(possibly due to .connect() returning False), so this may
fix some of the cases where it returned False. This way we also
ensure that we always have an auth_key, or even if it "breaks"
(it's not the right key for the server anymore).
A few additional changes have been introduced to accommodate
this, such as moving InitConnection logic too or importing auths.
2017-10-24 15:40:51 +02:00
Lonami Exo
b04eed82eb
Add new .idle() method to listen for updates from MainThread
2017-10-22 13:16:34 +02:00
Lonami Exo
7596f2b797
Fix and enhance "no workers set" warning
2017-10-21 13:48:57 +02:00
Lonami Exo
5cdf92e509
Update to v0.15.3
2017-10-20 23:33:08 +02:00
Lonami Exo
d70811b693
Fix infinite loop when invoking on update handlers ( fix #336 )
...
Every update that hadn't been acknowledged on the main connection
yet would be resent on any new connection. These new connections
are made temporary when invoking anything from any thread that's
not the main thread. It would also process all the updates, hence,
Telegram would be resending these not-acknowledged updates to the
temporary connection, and the updates would be processed again,
then the update handler would react to the duplicated updates over
and over.
To fix this, simply don't process updates on the temporary thread
at all. With this reasoning, if we don't acknowledge updates on
the temporary connections, Telegram will resend them on the main
connection, so we should not lose any.
2017-10-20 23:30:02 +02:00
Andrey Egorov
050cd95d32
Remove unnecessary .disconnect() from ._invoke() ( #356 )
2017-10-19 10:51:34 +02:00
Lonami Exo
87dc476dae
Fix ReadThread not starting on reconnect if already authorized
2017-10-18 14:45:08 +02:00
Lonami Exo
5a1074dc7c
Avoid calling .sync_updates when not needed
2017-10-18 12:17:13 +02:00
Lonami Exo
27728be242
Revert "Attempt at not calling .connect for every file chunk"
...
This reverts commit 280a700655
.
The reason for this is that it was causing a lot of files to
be downloaded corrupted for some reason. This should be
revisited to avoid creating a new connection for every chunk.
2017-10-15 11:05:56 +02:00
Lonami Exo
d92e8e11ad
Update to v0.15.2
2017-10-14 12:05:28 +02:00
Lonami Exo
280a700655
Attempt at not calling .connect for every file chunk
2017-10-14 12:03:01 +02:00
Lonami Exo
4fd9d361f0
Replace redundant isinstance calls with a tuple parameter
2017-10-13 11:39:34 +02:00
Lonami Exo
9cf5506ee4
Don't .disconnect() on FloodWaitError
...
Since other requests can still be invoked, it makes no
sense to call .disconnect().
2017-10-13 09:59:37 +02:00
Lonami Exo
db623e37fd
Except ConnectionResetError on ._reconnect ( fix #309 )
2017-10-09 13:23:39 +02:00
Lonami Exo
a7622324dd
Remove unnecessary offset_index variable on .download_file
2017-10-09 12:00:14 +02:00
Lonami Exo
6f1c05633e
Join all threads when calling .disconnect() ( fix #252 )
2017-10-09 11:47:10 +02:00
Lonami Exo
f984aae391
Except ProxyConnectionError on ReadThread ( fix #307 )
2017-10-09 11:37:08 +02:00
Lonami Exo
15e90dcb69
Allow specifying a threshold to handle flood waits
2017-10-08 16:15:30 +02:00
Lonami Exo
62aec947c0
Chang auto-reconnect condition ( fix #303 )
2017-10-08 10:52:56 +02:00
Lonami Exo
244a47cddd
Fix consuming all retries on Requests returning False/empty list
2017-10-07 18:54:30 +02:00
Joscha Götzer
7b5d409c49
Warn users on .add_update_handler if no workers are running ( #300 )
2017-10-07 17:55:37 +02:00
Lonami Exo
1d8a02685f
Update to v0.15.1
2017-10-05 13:58:26 +02:00
Lonami Exo
a98dc9d95b
Try passing socks.GeneralProxyError to the main thread
2017-10-04 14:09:46 +02:00
Lonami Exo
d98fd6a424
Fix workers not stopping on .disconnect(), start them on login
2017-10-01 19:56:24 +02:00
Lonami Exo
e717256937
Always use session ip address and port when connecting
2017-10-01 19:26:20 +02:00
Lonami Exo
8c3a2470ed
Update to v0.15
2017-10-01 17:38:48 +02:00
Lonami Exo
c61e168de4
Rename invoke to __call__
2017-10-01 16:04:14 +02:00
Lonami Exo
36dabc4928
Process entities from the MtProtoSender instead TelegramBareClient
...
This way, update objects will also be processed when they occur.
2017-10-01 16:02:29 +02:00
Lonami Exo
a737f33324
Save all found entities to the session file
2017-10-01 13:27:08 +02:00
Lonami Exo
1d159908c7
Fix RPC excepts (e.g. UserMigrate) being in the wrong try
2017-10-01 11:25:56 +02:00
Lonami Exo
a5ab49c707
Remove sleep on ServerError as per @danog's recommendation
2017-09-30 19:02:12 +02:00
Lonami Exo
c9dff552b8
Except ServerErrors and sleep a bit before retrying
2017-09-30 18:51:25 +02:00
Lonami Exo
76e5206acc
Raise ValueError if an unknown **kwarg is given
2017-09-30 18:45:56 +02:00
Lonami Exo
8c3c990e74
Remove UpdateState .set and .check error
2017-09-30 18:39:31 +02:00
Lonami Exo
933ae01d85
Change condition to perform automatic reconnection
2017-09-30 18:33:34 +02:00
Lonami Exo
b6bc9ac39b
Rename ._connect_lock to ._reconnect_lock
2017-09-30 18:25:09 +02:00
Lonami Exo
4cd7e1711e
Rename cdn parameter to _cdn
2017-09-30 17:57:39 +02:00
Lonami Exo
d28f370ab6
Add ._get_cdn_client as alternative ._get_exported_client version
2017-09-30 17:51:07 +02:00
Lonami Exo
a35c4b15db
Cache exported Sessions instead whole clients
2017-09-30 16:32:10 +02:00