ó
    –OåiCK  ã                   ó&   • S SK Jr   " S S\5      rg)é    )ÚSubFunctionsc                   óö  • \ rS rSr        S6S\S\S\S\S\S\S	\S
\4S jjr       S7S\S-  S\S-  S\S-  S\\\   -  S-  S	\\\   -  S-  S\\\   -  S-  S\\\   -  S-  4S jjrS\4S jr	S\4S jr
S8S\\\   -  S\4S jjrS rS rS8S\4S jjrS\4S jrS\S\\\   -  4S jr         S9S\S-  S\S-  S\S-  S\\\   -  S-  S\S-  S\\\   -  S-  S\\\   -  S-  S\S \S-  4S! jjrS:S\S\4S" jjrS# r S;S\\\   -  S\S\4S$ jjrS\S
\4S% jrS\\-  4S& jrS'\S(\4S) jrS(\\\   -  4S* jrS<S'\S(\4S+ jjrS'\S(\S,\4S- jrS'\S.\4S/ jrS0 rS1 rS2 r S3 r!S4 r"S5r#g)=ÚJobFunctionsé   NÚurlÚfileÚnzbnameÚpasswordÚcatÚscriptÚpriorityÚppc	              ƒ   ór   #   • U(       a  Un	Sn
OUn	Sn
U R                  U
U	UUUUUUS.5      I Sh  v•N $  N7f)z:return {"status": True, "nzo_ids": ["SABnzbd_nzo_kyt1f0"]}ÚaddlocalfileÚaddurl)ÚmodeÚnamer	   r
   r   r   r   r   N©Úcall)Úselfr   r   r	   r
   r   r   r   r   r   r   s              Ú /app/sabnzbdapi/job_functions.pyÚadd_uriÚJobFunctions.add_uri   sV   é € ö ØˆDØ!‰DàˆDØˆDà—Y‘YàØØ"Ø$ØØ Ø$Øñ	ó
÷ 
ð 	
ñ 
ùs   ‚.7°5±7ÚstartÚlimitÚsearchÚcategoryÚstatusÚnzo_idsc              ƒ   óÊ  #   • U(       a(  [        U[        5      (       a  UOSR                  U5      nU(       a(  [        U[        5      (       a  UOSR                  U5      nU(       a(  [        U[        5      (       a  UOSR                  U5      nU(       a(  [        U[        5      (       a  UOSR                  U5      nU R                  SUUUUUUUS.5      I Sh  v•N $  N7f)aæ	  return {
    "queue": {
        "status": "Downloading",
        "speedlimit": "9",
        "speedlimit_abs": "4718592.0",
        "paused": false,
        "noofslots_total": 2,
        "noofslots": 2,
        "limit": 10,
        "start": 0,
        "timeleft": "0:16:44",
        "speed": "1.3 M",
        "kbpersec": "1296.02",
        "size": "1.2 GB",
        "sizeleft": "1.2 GB",
        "mb": "1277.65",
        "mbleft": "1271.58",
        "slots": [
            {
                "status": "Downloading",
                "index": 0,
                "password": "",
                "avg_age": "2895d",
                "script": "None",
                "direct_unpack": "10/30",
                "mb": "1277.65",
                "mbleft": "1271.59",
                "mbmissing": "0.0",
                "size": "1.2 GB",
                "sizeleft": "1.2 GB",
                "filename": "TV.Show.S04E11.720p.HDTV.x264",
                "labels": [],
                "priority": "Normal",
                "cat": "tv",
                "timeleft": "0:16:44",
                "percentage": "0",
                "nzo_id": "SABnzbd_nzo_p86tgx",
                "unpackopts": "3"
            },
            {
                "status": "Paused",
                "index": 1,
                "password": "",
                "avg_age": "2895d",
                "script": "None",
                "direct_unpack": null,
                "mb": "1277.76",
                "mbleft": "1277.76",
                "mbmissing": "0.0",
                "size": "1.2 GB",
                "sizeleft": "1.2 GB",
                "filename": "TV.Show.S04E12.720p.HDTV.x264",
                "labels": [
                    "TOO LARGE",
                    "DUPLICATE"
                ],
                "priority": "Normal",
                "cat": "tv",
                "timeleft": "0:00:00",
                "percentage": "0",
                "nzo_id": "SABnzbd_nzo_ksfai6",
                "unpackopts": "3"
            }
        ],
        "diskspace1": "161.16",
        "diskspace2": "161.16",
        "diskspacetotal1": "465.21",
        "diskspacetotal2": "465.21",
        "diskspace1_norm": "161.2 G",
        "diskspace2_norm": "161.2 G",
        "have_warnings": "0",
        "pause_int": "0",
        "left_quota": "0 ",
        "version": "3.x.x",
        "finish": 2,
        "cache_art": "16",
        "cache_size": "6 MB",
        "finishaction": null,
        "paused_all": false,
        "quota": "0 ",
        "have_quota": false,
    }
}Ú,Úqueue)r   r   r   r   r   r   r   r   N©Ú
isinstanceÚstrÚjoinr   )r   r   r   r   r   r   r   r   s           r   Úget_downloadsÚJobFunctions.get_downloads(   s¼   é € ö| Ü!+¨G´S×!9Ñ!9‘g¸s¿x¹xÈÓ?PˆGÞÜ)¨&´#×6Ñ6‘V¸C¿H¹HÀVÓ<LˆFÞÜ#-¨h¼×#<Ñ#<‘xÀ#Ç(Á(È8ÓBTˆHÞÜ#-¨h¼×#<Ñ#<‘xÀ#Ç(Á(È8ÓBTˆHà—Y‘YàØØØ Ø$Ø$Ø Ø"ñ	ó
÷ 
ð 	
ñ 
ùs   ‚CC#ÃC!ÃC#Únzo_idc              ƒ   óH   #   • U R                  SSUS.5      I Sh  v•N $  N7f)ú8return {"status": True, "nzo_ids": ["all effected ids"]}r"   Úpause©r   r   ÚvalueNr   ©r   r)   s     r   Ú	pause_jobÚJobFunctions.pause_jobœ   s!   é € à—Y‘Y¨¸È6ÑRÓS×SÐSÑSùó   ‚"› œ"c              ƒ   óH   #   • U R                  SSUS.5      I Sh  v•N $  N7f)r+   r"   Úresumer-   Nr   r/   s     r   Ú
resume_jobÚJobFunctions.resume_job    s!   é € à—Y‘Y¨¸ÈFÑSÓT×TÐTÑTùr2   Údelete_filesc              ƒ   ó¨   #   • U R                  SS[        U[        5      (       a  UOSR                  U5      U(       a  SOSS.5      I Sh  v•N $  N7f)r+   r"   Údeleter!   é   r   )r   r   r.   Ú	del_filesN©r   r$   r%   r&   )r   r)   r7   s      r   Ú
delete_jobÚJobFunctions.delete_job¤   sL   é € à—Y‘YàØ Ü#-¨f´c×#:Ñ#:™ÀÇÁÈÓ@PÞ".™Q°Añ	ó
÷ 
ð 	
ñ 
ùs   ‚A	AÁAÁAc              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)úreturn {"status": True}r   r,   Nr   ©r   s    r   Ú	pause_allÚJobFunctions.pause_all¯   s   é € à—Y‘Y ¨Ð0Ó1×1Ð1Ñ1ùó   ‚ ™š c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)r@   r   r4   Nr   rA   s    r   Ú
resume_allÚJobFunctions.resume_all³   s   é € à—Y‘Y ¨Ð1Ó2×2Ð2Ñ2ùrD   c              ƒ   óZ   #   • U R                  SSU(       a  SOSS.5      I Sh  v•N $  N7f)r+   r"   Úpurger:   r   )r   r   r;   Nr   )r   r7   s     r   Ú	purge_allÚJobFunctions.purge_all·   s/   é € à—Y‘YØ gÆ¹AÐSTÑUó
÷ 
ð 	
ñ 
ùs   ‚"+¤)¥+c              ƒ   óF   #   • U R                  SUS.5      I Sh  v•N $  N7f)aE  
return {
    "files": [
        {
            "status": "finished",
            "mbleft": "0.00",
            "mb": "0.05",
            "age": "25d",
            "bytes": "52161.00",
            "filename": "93a4ec7c37752640deab48dabb46b164.par2",
            "nzf_id": "SABnzbd_nzf_1lk0ij",
        },
        ...,
    ]
}
Ú	get_files)r   r.   Nr   r/   s     r   rM   ÚJobFunctions.get_files½   s!   é € ð" —Y‘Y¨¸fÑEÓF×FÐFÑFùó   ‚!š›!Úfile_idsc           	   ƒ   ó–   #   • U R                  SSU[        U[        5      (       a  UOSR                  U5      S.5      I S h  v•N $  N7f)Nr"   Ú
delete_nzfr!   )r   r   r.   Úvalue2r<   )r   r)   rP   s      r   Úremove_fileÚJobFunctions.remove_fileÐ   sH   é € Ø—Y‘YàØ$ØÜ&0°¼3×&?Ñ&?™(ÀSÇXÁXÈhÓEWñ	ó
÷ 
ð 	
ñ 
ùs   ‚A A	ÁAÁA	ÚarchiveÚfailed_onlyÚlast_history_updatec
              ƒ   óp  #   • U(       a(  [        U[        5      (       a  UOSR                  U5      nU(       a(  [        U[        5      (       a  UOSR                  U5      nU(       a(  [        U[        5      (       a  UOSR                  U5      nU R                  SUUUUUUUUU	S.
5      I Sh  v•N $  N7f)aÝ  {
    "history": {
        "noofslots": 220,
        "ppslots": 1,
        "day_size": "1.9 G",
        "week_size": "30.4 G",
        "month_size": "167.3 G",
        "total_size": "678.1 G",
        "last_history_update": 1469210913,
        "slots": [
            {
                "action_line": "",
                "duplicate_key": "TV.Show/4/2",
                "meta": null,
                "fail_message": "",
                "loaded": false,
                "size": "2.3 GB",
                "category": "tv",
                "pp": "D",
                "retry": 0,
                "script": "None",
                "nzb_name": "TV.Show.S04E02.720p.BluRay.x264-xHD.nzb",
                "download_time": 64,
                "storage": "C:\Users\xxx\Videos\Complete\TV.Show.S04E02.720p.BluRay.x264-xHD",
                "has_rating": false,
                "status": "Completed",
                "script_line": "",
                "completed": 1469172988,
                "nzo_id": "SABnzbd_nzo_sdkoun",
                "downloaded": 2436906376,
                "report": "",
                "password": "",
                "path": "\\?\C:\SABnzbd\TV.Show.S04E02.720p.BluRay.x264-xHD",
                "postproc_time": 40,
                "name": "TV.Show.S04E02.720p.BluRay.x264-xHD",
                "url": "TV.Show.S04E02.720p.BluRay.x264-xHD.nzb",
                "md5sum": "d2c16aeecbc1b1921d04422850e93013",
                "archive": false,
                "bytes": 2436906376,
                "url_info": "",
                "stage_log": [
                    {
                        "name": "Source",
                        "actions": [
                            "TV.Show.S04E02.720p.BluRay.x264-xHD.nzb"
                        ]
                    },
                    {
                        "name": "Download",
                        "actions": [
                            "Downloaded in 1 min 4 seconds at an average of 36.2 MB/s<br/>Age: 550d<br/>10 articles were malformed"
                        ]
                    },
                    {
                        "name": "Servers",
                        "actions": [
                            "Frugal=2.3 GB"
                        ]
                    },
                    {
                        "name": "Repair",
                        "actions": [
                            "[pA72r5Ac6lW3bmpd20T7Hj1Zg2bymUsINBB50skrI] Repaired in 19 seconds"
                        ]
                    },
                    {
                        "name": "Unpack",
                        "actions": [
                            "[pA72r5Ac6lW3bmpd20T7Hj1Zg2bymUsINBB50skrI] Unpacked 1 files/folders in 6 seconds"
                        ]
                    }
                ]
            },
            {
                "action_line": "",
                "duplicate_key": "TV.Show/4/13",
                "meta": null,
                "fail_message": "",
                "loaded": false,
                "size": "2.3 GB",
                "category": "tv",
                "pp": "D",
                "retry": 0,
                "script": "None",
                "nzb_name": "TV.Show.S04E13.720p.BluRay.x264-xHD.nzb",
                "download_time": 60,
                "storage": "C:\Users\xxx\Videos\Complete\TV.Show.S04E13.720p.BluRay.x264-xHD",
                "has_rating": false,
                "status": "Completed",
                "script_line": "",
                "completed": 1469172947,
                "nzo_id": "SABnzbd_nzo_gqhp63",
                "downloaded": 2491255137,
                "report": "",
                "password": "",
                "path": "\\?\C:\SABnzbd\TV.Show.S04E13.720p.BluRay.x264-xHD",
                "postproc_time": 82,
                "name": "TV.Show.S04E13.720p.BluRay.x264-xHD",
                "url": "TV.Show.S04E13.720p.BluRay.x264-xHD.nzb",
                "md5sum": "85baf55ec0de0dc732c2af6537c5c01b",
                "archive": true,
                "bytes": 2491255137,
                "url_info": "",
                "stage_log": [
                    {
                        "name": "Source",
                        "actions": [
                            "TV.Show.S04E13.720p.BluRay.x264-xHD.nzb"
                        ]
                    },
                    {
                        "name": "Download",
                        "actions": [
                            "Downloaded in 1 min at an average of 39.4 MB/s<br/>Age: 558d<br/>15 articles were malformed"
                        ]
                    },
                    {
                        "name": "Servers",
                        "actions": [
                            "Frugal=2.3 GB"
                        ]
                    },
                    {
                        "name": "Repair",
                        "actions": [
                            "[m0vklMEMKIT5L5XH9z5YTmuquoitCQ3F5LISTLFjT] Repaired in 47 seconds"
                        ]
                    },
                    {
                        "name": "Unpack",
                        "actions": [
                            "[m0vklMEMKIT5L5XH9z5YTmuquoitCQ3F5LISTLFjT] Unpacked 1 files/folders in 6 seconds"
                        ]
                    }
                ]
            }
        ]
    }
}r!   Úhistory)
r   r   r   rV   r   r   r   r   rW   rX   Nr#   )
r   r   r   r   r   rV   r   r   rW   rX   s
             r   Úget_historyÚJobFunctions.get_historyÚ   s£   é € öp Ü!+¨G´S×!9Ñ!9‘g¸s¿x¹xÈÓ?PˆGÞÜ)¨&´#×6Ñ6‘V¸C¿H¹HÀVÓ<LˆFÞÜ#-¨h¼×#<Ñ#<‘xÀ#Ç(Á(È8ÓBTˆHà—Y‘Yà!ØØØ"Ø Ø$Ø Ø"Ø*Ø':ñó
÷ 
ð 	
ñ 
ùs   ‚B-B6Â/B4Â0B6c              ƒ   óF   #   • U R                  SXS.5      I Sh  v•N $  N7f)r@   Úretry)r   r.   r
   Nr   )r   r)   r
   s      r   Ú
retry_itemÚJobFunctions.retry_itemˆ  s   é € à—Y‘Y¨¸&ÑWÓX×XÐXÑXùrO   c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)r@   r   Ú	retry_allNr   rA   s    r   rb   ÚJobFunctions.retry_allŒ  s   é € à—Y‘Y ¨Ð4Ó5×5Ð5Ñ5ùrD   c              ƒ   óª   #   • U R                  SS[        U[        5      (       a  UOSR                  U5      UU(       a  SOSS.5      I Sh  v•N $  N7f)r@   rZ   r9   r!   r:   r   )r   r   r.   rV   r;   Nr<   )r   r   rV   r7   s       r   Údelete_historyÚJobFunctions.delete_history  sQ   é € ð —Y‘Yà!Ø Ü$.¨w¼×$<Ñ$<™À#Ç(Á(È7ÓBSØ"Þ".™Q°Añó
÷ 
ð 	
ñ 
ùs   ‚A
AÁAÁAc              ƒ   óF   #   • U R                  SXS.5      I Sh  v•N $  N7f)r@   Úchange_opts)r   r.   rS   Nr   )r   r)   r   s      r   Úchange_job_ppÚJobFunctions.change_job_ppž  s   é € à—Y‘Y¨ÀÑUÓV×VÐVÑVùrO   c              ƒ   óH   #   • U R                  SSUS.5      I Sh  v•N $  N7f)r@   ÚconfigÚ
speedlimitr-   Nr   )r   r   s     r   Úset_speedlimitÚJobFunctions.set_speedlimit¢  s"   é € à—Y‘Y¨¸,ÐQVÑWÓX×XÐXÑXùr2   ÚsectionÚkeywordc              ƒ   óF   #   • U R                  SXS.5      I Sh  v•N $  N7f)r@   Ú
del_config©r   rp   rq   Nr   ©r   rp   rq   s      r   Údelete_configÚJobFunctions.delete_config¦  ó(   é € à—Y‘YØ!¨gÑJó
÷ 
ð 	
ñ 
ùrO   c              ƒ   óF   #   • U R                  SUS.5      I Sh  v•N $  N7f)r@   Úset_config_default)r   rq   Nr   )r   rq   s     r   rz   ÚJobFunctions.set_config_default¬  s    é € à—Y‘YÐ(<ÈÑQÓR×RÐRÑRùrO   c              ƒ   óF   #   • U R                  SXS.5      I Sh  v•N $  N7f)zreturn config as dicÚ
get_configrt   Nr   ru   s      r   r}   ÚJobFunctions.get_config°  rx   rO   r.   c              ƒ   óJ   #   • U R                  SUUUS.5      I Sh  v•N $  N7f)ú/Returns the new setting when saved successfullyÚ
set_config)r   rp   rq   r.   Nr   )r   rp   rq   r.   s       r   r   ÚJobFunctions.set_config¶  s1   é € à—Y‘Yà$Ø"Ø"Øñ	ó
÷ 
ð 	
ñ 
ùó   ‚#œ!#Úitemsc              ƒ   óJ   #   • U R                  SUS.UE5      I Sh  v•N $  N7f)r€   r   )r   rp   Nr   )r   rp   r„   s      r   Úset_special_configÚJobFunctions.set_special_configÁ  s5   é € à—Y‘Yà$Ø"ñð ðó
÷ 
ð 	
ñ 
ùrƒ   c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)aJ  return {
    "day": 2352634799,
    "week": 32934490677,
    "month": 179983557488,
    "total": 728426161290,
    "servers": {
        "eunews.server.com": {
            "week": 19783288936,
            "total": 163741252273,
            "day": 2352634799,
            "month": 90478917031,
            "daily": {
                "2017-01-28": 1234,
                "2017-01-29": 4567
            },
            "articles_tried": 929299,
            "articles_success": 8299
        },
        "News.server.net": {
            "week": 13151201741,
            "total": 165783396295,
            "day": 0,
            "month": 89499300889,
            "daily": {
                "2017-01-28": 1234,
                "2017-01-29": 4567
            },
            "articles_tried": 520400,
            "articles_success": 78881
        }
    }
}r   Úserver_statsNr   rA   s    r   r‰   ÚJobFunctions.server_statsË  s"   é € ðB —Y‘Y ¨Ð7Ó8×8Ð8Ñ8ùrD   c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)zreturn {'version': '4.2.2'}r   ÚversionNr   rA   s    r   rŒ   ÚJobFunctions.versionî  ó   é € à—Y‘Y ¨	Ð2Ó3×3Ð3Ñ3ùrD   c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)r@   r   ÚrestartNr   rA   s    r   r   ÚJobFunctions.restartò  rŽ   rD   c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)r@   r   Úrestart_repairNr   rA   s    r   r“   ÚJobFunctions.restart_repairö  s    é € à—Y‘Y Ð(8Ð9Ó:×:Ð:Ñ:ùrD   c              ƒ   óD   #   • U R                  SS05      I Sh  v•N $  N7f)r@   r   ÚshutdownNr   rA   s    r   r–   ÚJobFunctions.shutdownú  s   é € à—Y‘Y ¨
Ð3Ó4×4Ð4Ñ4ùrD   © )Ú r™   r™   r™   Ú*Nr   r:   )NNNNNNN)F)	NNNNNNNFN)r™   )r   F)NN)$Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r%   ÚlistÚintr   r'   r0   r5   Úboolr=   rB   rF   rJ   rM   rT   r[   r_   rb   re   ri   rn   rv   rz   r}   r   Údictr†   r‰   rŒ   r   r“   r–   Ú__static_attributes__r˜   ó    r   r   r      sA  † ð ØØØØØØØñ 
àð 
ð ð 
ð ð	 
ð
 ð 
ð ð 
ð ð 
ð ð 
ð õ 
ðH !Ø Ø!Ø+/Ø+/Ø)-Ø*.ñr
àT‰zðr
ð T‰zðr
ð d‘
ð	r
ð
 ˜˜S™	‘/ DÑ(ðr
ð ˜˜S™	‘/ DÑ(ðr
ð d˜3‘i‘ $Ñ&ðr
ð t˜C‘y‘ 4Ñ'õr
ðhT cô TðU sô Uñ	
 s¨T°#©Y¡ð 	
Àdõ 	
ò2ò3ñ
¨Dõ 
ðG cô Gð&
¨ð 
°s¸TÀ#¹Y±ô 
ð !Ø Ø!Ø+/Ø"Ø)-Ø*.Ø!Ø*.ñl
àT‰zðl
ð T‰zðl
ð d‘
ð	l
ð
 ˜˜S™	‘/ DÑ(ðl
ð t‘ðl
ð d˜3‘i‘ $Ñ&ðl
ð t˜C‘y‘ 4Ñ'ðl
ð ðl
ð ! 4™Zõl
ñ\Y sð Y°cõ Yò6ð
 PUñ
Ø˜T #™Y‘ð
Ø14ð
ØHLõ
ðW¨#ð W°3ô WðY¨#°©)ô Yð
¨3ð 
¸ô 
ðS°°d¸3±i±ô Sñ
¨ð 
¸Sõ 
ð	
¨ð 	
°cð 	
À#ô 	
ð
°ð 
¸Dô 
ò!9òF4ò4ò;õ5r¤   r   N)Úsabnzbdapi.bound_methodsr   r   r˜   r¤   r   Ú<module>r¦      s   ðÝ 1ôx5<õ x5r¤   