
    x
h0                        d dl mZ d dlmZ d dlmZ  G d de          Z G d de          Z G d d	e          Z G d
 de          Z	dS )    )annotations)Literal)	Containerc                      e Zd Zed	d            Zed	d            Zed	d            Zed	d            Zed	d            ZdS )
Statsreturnintc                    | j         d         S )NuploadedBytesfieldsselfs    Q/var/www/html/mejor/venv/lib/python3.11/site-packages/transmission_rpc/session.pyuploaded_byteszStats.uploaded_bytes	       {?++    c                    | j         d         S )NdownloadedBytesr   r   s    r   downloaded_byteszStats.downloaded_bytes   s    {,--r   c                    | j         d         S )N
filesAddedr   r   s    r   files_addedzStats.files_added       {<((r   c                    | j         d         S )NsessionCountr   r   s    r   session_countzStats.session_count       {>**r   c                    | j         d         S )NsecondsActiver   r   s    r   seconds_activezStats.seconds_active   r   r   Nr   r	   )	__name__
__module____qualname__propertyr   r   r   r   r!    r   r   r   r      s        , , , X, . . . X. ) ) ) X) + + + X+ , , , X, , ,r   r   c                      e Zd Zedd            Zedd            Zedd            Zedd            Zedd            Zedd	            Z	edd
            Z
dS )SessionStatsr   r	   c                    | j         d         S )NactiveTorrentCountr   r   s    r   active_torrent_countz!SessionStats.active_torrent_count"       {/00r   c                    | j         d         S )NdownloadSpeedr   r   s    r   download_speedzSessionStats.download_speed&   r   r   c                    | j         d         S )NpausedTorrentCountr   r   s    r   paused_torrent_countz!SessionStats.paused_torrent_count*   r-   r   c                    | j         d         S )NtorrentCountr   r   s    r   torrent_countzSessionStats.torrent_count.   r   r   c                    | j         d         S )NuploadSpeedr   r   s    r   upload_speedzSessionStats.upload_speed2       {=))r   r   c                8    t          | j        d                   S )Nzcumulative-statsr   r   r   r   s    r   cumulative_statszSessionStats.cumulative_stats6   s    DK(:;<<<<r   c                8    t          | j        d                   S )Nzcurrent-statsr   r<   r   s    r   current_statszSessionStats.current_stats:   s    DK89999r   Nr"   )r   r   )r#   r$   r%   r&   r,   r0   r3   r6   r9   r=   r?   r'   r   r   r)   r)      s         1 1 1 X1 , , , X, 1 1 1 X1 + + + X+ * * * X* = = = X= : : : X: : :r   r)   c                      e Zd Zedd            Zedd            Zedd            Zedd            Zedd            Zedd	            Z	d
S )Unitsr   	list[str]c                    | j         d         S )Nzspeed-unitsr   r   s    r   speed_unitszUnits.speed_unitsA   r:   r   r	   c                    | j         d         S )Nzspeed-bytesr   r   s    r   speed_byteszUnits.speed_bytesF   r:   r   c                    | j         d         S )Nz
size-unitsr   r   s    r   
size_unitszUnits.size_unitsK   r   r   c                    | j         d         S )Nz
size-bytesr   r   s    r   
size_byteszUnits.size_bytesP   r   r   c                    | j         d         S )Nzmemory-unitsr   r   s    r   memory_unitszUnits.memory_unitsU   r   r   c                    | j         d         S )Nzmemory-bytesr   r   s    r   memory_byteszUnits.memory_bytesZ   r   r   N)r   rB   r"   )
r#   r$   r%   r&   rD   rF   rH   rJ   rL   rN   r'   r   r   rA   rA   ?   s        * * * X* * * * X* ) ) ) X) ) ) ) X) + + + X+ + + + X+ + +r   rA   c                  :   e Zd ZdZedDd            ZedEd            ZedDd            ZedDd            ZedEd	            Z	edDd
            Z
edDd            ZedEd            ZedDd            ZedFd            ZedDd            ZedFd            ZedEd            ZedFd            ZedDd            ZedEd            ZedDd            ZedGd            ZedEd            ZedDd            ZedEd            ZedFd            ZedEd            ZedDd            ZedDd            ZedEd             ZedDd!            ZedEd"            Z edEd#            Z!edEd$            Z"edDd%            Z#edEd&            Z$edDd'            Z%edDd(            Z&edEd)            Z'edFd*            Z(edEd+            Z)edDd,            Z*edHd.            Z+edEd/            Z,edEd0            Z-edDd1            Z.edEd2            Z/edDd3            Z0edEd4            Z1edEd5            Z2edId7            Z3edEd8            Z4edFd9            Z5edJd;            Z6edKd=            Z7edLd?            Z8edKd@            Z9edLdA            Z:edKdB            Z;dCS )MSessiona  
    Session is a class holding the session data for a Transmission daemon.

    Access the session field can be done through attributes.
    The attributes available are the same as the session arguments in the
    Transmission RPC specification, but with underscore instead of hyphen.


    You should use ``session.download_dir`` to get ``'download-dir'``.

    .. code-block:: python

        session = Client().get_session()

        current = session.download_dir

    https://github.com/transmission/transmission/blob/main/docs/rpc-spec.md#41-session-arguments

    Warnings:
        setter on session's properties has been removed, please use :py:meth`Client.set_session` instead
    r   r	   c                    | j         d         S ) max global download speed (KBps)zalt-speed-downr   r   s    r   alt_speed_downzSession.alt_speed_downv        {+,,r   boolc                    | j         d         S )Nzalt-speed-enabledr   r   s    r   alt_speed_enabledzSession.alt_speed_enabled{        {.//r   c                    | j         d         S )z:when to turn on alt speeds (units: minutes after midnight)zalt-speed-time-beginr   r   s    r   alt_speed_time_beginzSession.alt_speed_time_begin        {122r   c                    | j         d         S )z8what day(s) to turn on alt speeds (look at tr_sched_day)zalt-speed-time-dayr   r   s    r   alt_speed_time_dayzSession.alt_speed_time_day        {/00r   c                    | j         d         S )z.true means the scheduled on/off times are usedzalt-speed-time-enabledr   r   s    r   alt_speed_time_enabledzSession.alt_speed_time_enabled        {344r   c                    | j         d         S )z)when to turn off alt speeds (units: same)zalt-speed-time-endr   r   s    r   alt_speed_time_endzSession.alt_speed_time_end   r^   r   c                    | j         d         S )max global upload speed (KBps)zalt-speed-upr   r   s    r   alt_speed_upzSession.alt_speed_up        {>**r   c                    | j         d         S )true means enabledzblocklist-enabledr   r   s    r   blocklist_enabledzSession.blocklist_enabled   rX   r   c                    | j         d         S )zint of rules in the blocklistzblocklist-sizer   r   s    r   blocklist_sizezSession.blocklist_size   rT   r   strc                    | j         d         S )z7location of the blocklist to use for `blocklist-update`zblocklist-urlr   r   s    r   blocklist_urlzSession.blocklist_url        {?++r   c                    | j         d         S )z#maximum size of the disk cache (MB)zcache-size-mbr   r   s    r   cache_size_mbzSession.cache_size_mb   rp   r   c                    | j         d         S )z2location of transmission's configuration directoryz
config-dirr   r   s    r   
config_dirzSession.config_dir   s     {<((r   c                    | j         d         S )z'true means allow dht in public torrentszdht-enabledr   r   s    r   dht_enabledzSession.dht_enabled        {=))r   c                    | j         d         S )z!default path to download torrentszdownload-dirr   r   s    r   download_dirzSession.download_dir   rg   r   c                    | j         d         S )z3**DEPRECATED** Use the `free-space` method instead.zdownload-dir-free-spacer   r   s    r   download_dir_free_spacezSession.download_dir_free_space        {455r   c                    | j         d         S )z:if true, limit how many torrents can be downloaded at oncezdownload-queue-enabledr   r   s    r   download_queue_enabledzSession.download_queue_enabled   ra   r   c                    | j         d         S )zDmax int of torrents to download at once (see download-queue-enabled)zdownload-queue-sizer   r   s    r   download_queue_sizezSession.download_queue_size        {011r   -Literal['required', 'preferred', 'tolerated']c                    | j         d         S )N
encryptionr   r   s    r   r   zSession.encryption   r   r   c                    | j         d         S )z:true if the seeding inactivity limit is honored by defaultzidle-seeding-limit-enabledr   r   s    r   idle_seeding_limit_enabledz"Session.idle_seeding_limit_enabled   s     {788r   c                    | j         d         S )zDtorrents we're seeding will be stopped if they're idle for this longzidle-seeding-limitr   r   s    r   idle_seeding_limitzSession.idle_seeding_limit   r^   r   c                    | j         d         S )z5true means keep torrents in incomplete-dir until donezincomplete-dir-enabledr   r   s    r   incomplete_dir_enabledzSession.incomplete_dir_enabled   ra   r   c                    | j         d         S )z*path for incomplete torrents, when enabledzincomplete-dirr   r   s    r   incomplete_dirzSession.incomplete_dir   rT   r   c                    | j         d         S )z8true means allow Local Peer Discovery in public torrentszlpd-enabledr   r   s    r   lpd_enabledzSession.lpd_enabled   rw   r   c                    | j         d         S )maximum global int of peerszpeer-limit-globalr   r   s    r   peer_limit_globalzSession.peer_limit_global   rX   r   c                    | j         d         S )r   zpeer-limit-per-torrentr   r   s    r   peer_limit_per_torrentzSession.peer_limit_per_torrent   ra   r   c                    | j         d         S )z,true means pick a random peer port on launchzpeer-port-random-on-startr   r   s    r   peer_port_random_on_startz!Session.peer_port_random_on_start   s     {677r   c                    | j         d         S )zport intz	peer-portr   r   s    r   	peer_portzSession.peer_port   s     {;''r   c                    | j         d         S )z'true means allow pex in public torrentszpex-enabledr   r   s    r   pex_enabledzSession.pex_enabled   rw   r   c                    | j         d         S )zhtrue means ask upstream router to forward the configured peer port to transmission using UPnP or NAT-PMPzport-forwarding-enabledr   r   s    r   port_forwarding_enabledzSession.port_forwarding_enabled  r|   r   c                    | j         d         S )z3whether or not to consider idle torrents as stalledzqueue-stalled-enabledr   r   s    r   queue_stalled_enabledzSession.queue_stalled_enabled       {233r   c                    | j         d         S )zatorrents that are idle for N minutes aren't counted toward seed-queue-size or download-queue-sizezqueue-stalled-minutesr   r   s    r   queue_stalled_minuteszSession.queue_stalled_minutes  r   r   c                    | j         d         S )z-true means append `.part` to incomplete fileszrename-partial-filesr   r   s    r   rename_partial_fileszSession.rename_partial_files  r[   r   c                    | j         d         S )z%the minimum RPC API version supportedzrpc-version-minimumr   r   s    r   rpc_version_minimumzSession.rpc_version_minimum  r   r   c                    | j         d         S )zthe current RPC API versionzrpc-versionr   r   s    r   rpc_versionzSession.rpc_version  rw   r   c                    | j         d         S )z(whether or not to call the `done` scriptzscript-torrent-done-enabledr   r   s    r   script_torrent_done_enabledz#Session.script_torrent_done_enabled  s     {899r   c                    | j         d         S )zfilename of the script to runzscript-torrent-done-filenamer   r   s    r   script_torrent_done_filenamez$Session.script_torrent_done_filename$       {9::r   c                    | j         d         S )z8if true, limit how many torrents can be uploaded at oncezseed-queue-enabledr   r   s    r   seed_queue_enabledzSession.seed_queue_enabled)  r^   r   c                    | j         d         S )z@max int of torrents to uploaded at once (see seed-queue-enabled)zseed-queue-sizer   r   s    r   seed_queue_sizezSession.seed_queue_size.  s     {,--r   floatc                6    t          | j        d                   S )z*the default seed ratio for torrents to useseedRatioLimit)r   r   r   s    r   seed_ratio_limitzSession.seed_ratio_limit3  s     T[!12333r   c                    | j         d         S )z,true if seedRatioLimit is honored by defaultseedRatioLimitedr   r   s    r   seed_ratio_limitedzSession.seed_ratio_limited8       {-..r   c                    | j         d         S )ri   zspeed-limit-down-enabledr   r   s    r   speed_limit_down_enabledz Session.speed_limit_down_enabled=  s     {566r   c                    | j         d         S )rR   zspeed-limit-downr   r   s    r   speed_limit_downzSession.speed_limit_downB  r   r   c                    | j         d         S )ri   zspeed-limit-up-enabledr   r   s    r   speed_limit_up_enabledzSession.speed_limit_up_enabledG  ra   r   c                    | j         d         S )re   zspeed-limit-upr   r   s    r   speed_limit_upzSession.speed_limit_upL  rT   r   c                    | j         d         S )z4true means added torrents will be started right awayzstart-added-torrentsr   r   s    r   start_added_torrentszSession.start_added_torrentsQ  r[   r   c                    | j         d         S )z>true means the .torrent file of added torrents will be deletedztrash-original-torrent-filesr   r   s    r   trash_original_torrent_filesz$Session.trash_original_torrent_filesV  r   r   rA   c                8    t          | j        d                   S )Nunitsr   )rA   r   r   s    r   r   zSession.units\  s    DK01111r   c                    | j         d         S )ztrue means allow utpzutp-enabledr   r   s    r   utp_enabledzSession.utp_enabled`  rw   r   c                    | j         d         S )z'long version str `$version ($revision)`versionr   r   s    r   r   zSession.versione  s     {9%%r   list[str] | Nonec                ^    |                      d          }|r|                    d          S dS )zb
        list of default trackers to use on public torrents
        new at rpc-version 17
        zdefault-trackers
N)getsplit)r   trackerss     r   default_trackerszSession.default_trackersj  s5     88.// 	(>>$'''tr   
str | Nonec                ,    |                      d          S )zf
        the current RPC API version in a semver-compatible str
        new at rpc-version 17
        zrpc-version-semverr   r   s    r   rpc_version_semverzSession.rpc_version_semveru  s     xx,---r   bool | Nonec                ,    |                      d          S )zR
        whether to call the `added` script
        new at rpc-version 17
        zscript-torrent-added-enabledr   r   s    r   script_torrent_added_enabledz$Session.script_torrent_added_enabled}  s     xx6777r   c                ,    |                      d          S )M
        filename of the script to run
        new at rpc-version 17
        zscript-torrent-added-filenamer   r   s    r   script_torrent_added_filenamez%Session.script_torrent_added_filename  s     xx7888r   c                ,    |                      d          S )zY
        whether to call the `seeding-done` script
        new at rpc-version 17
        z#script-torrent-done-seeding-enabledr   r   s    r   #script_torrent_done_seeding_enabledz+Session.script_torrent_done_seeding_enabled  s     xx=>>>r   c                ,    |                      d          S )r   z$script-torrent-done-seeding-filenamer   r   s    r   $script_torrent_done_seeding_filenamez,Session.script_torrent_done_seeding_filename  s     xx>???r   Nr"   )r   rU   )r   rm   )r   r   )r   r   )r   rA   )r   r   )r   r   )r   r   )<r#   r$   r%   __doc__r&   rS   rW   rZ   r]   r`   rc   rf   rj   rl   ro   rr   rt   rv   ry   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r   r   rP   rP   _   s        , - - - X- 0 0 0 X0 3 3 3 X3 1 1 1 X1 5 5 5 X5 1 1 1 X1 + + + X+ 0 0 0 X0 - - - X- , , , X, , , , X, ) ) ) X) * * * X* + + + X+ 6 6 6 X6 5 5 5 X5 2 2 2 X2 ) ) ) X) 9 9 9 X9 1 1 1 X1 5 5 5 X5 - - - X- * * * X* 0 0 0 X0 5 5 5 X5 8 8 8 X8 ( ( ( X( * * * X* 6 6 6 X6 4 4 4 X4 4 4 4 X4 3 3 3 X3 2 2 2 X2 * * * X* : : : X: ; ; ; X; 1 1 1 X1 . . . X. 4 4 4 X4 / / / X/ 7 7 7 X7 / / / X/ 5 5 5 X5 - - - X- 3 3 3 X3 ; ; ; X;
 2 2 2 X2 * * * X* & & & X&    X . . . X. 8 8 8 X8 9 9 9 X9 ? ? ? X? @ @ @ X@ @ @r   rP   N)

__future__r   typing_extensionsr   transmission_rpc.typesr   r   r)   rA   rP   r'   r   r   <module>r      s   " " " " " " % % % % % % , , , , , ,, , , , ,I , , ,,: : : : :9 : : :B+ + + + +I + + +@|@ |@ |@ |@ |@i |@ |@ |@ |@ |@r   