Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPf†$ã@sÔddlmZddlZddlZddlZddlmZddlm Z ddl m Z m Z ddl mZddlmZmZejdƒZejd ƒZejd ƒZejd ƒZejd ƒZejd ƒZejeƒZGdd„deƒZdd„ZejeƒdS)é)Úabsolute_importN)Úparse)ÚLink)ÚrmtreeÚ display_path)Ú indent_log)ÚvcsÚVersionControlz url="([^"]+)"zcommitted-rev="(\d+)"z URL: (.+)zRevision: (.+)z\s*revision="(\d+)"z(.*)cs�eZdZdZdZdZd"Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z ‡fdd„Zdd„Zdd„Zdd„Zdd„Zed d!„ƒZ‡ZS)#Ú SubversionÚsvnz.svnÚcheckoutúsvn+sshúsvn+httpú svn+httpsúsvn+svncCs”|jd|gdddid�}tj|ƒ}|sFtjdt|ƒƒtjd|ƒd S|jd ƒjƒ}t j|ƒ}|s†tjd t|ƒƒtjd|ƒ|dfS||jd ƒfS) z/Returns (url, revision), where both are stringsÚinfoFZLANGÚC)Ú show_stdoutZ extra_environz'Cannot determine URL of svn checkout %sz!Output that cannot be parsed: %sNéz,Cannot determine revision of svn checkout %s)NN) Ú run_commandÚ _svn_url_reÚsearchÚloggerÚwarningrÚdebugÚgroupÚstripÚ_svn_revision_re)ÚselfÚlocationÚoutputÚmatchÚurl©r#ú /usr/lib/python3.6/subversion.pyÚget_infos(       zSubversion.get_infoc Cst|jƒ\}}t||ƒ}|j|ƒ}tjd||ƒtƒ�6tjj|ƒrJt |ƒ|j dg|||gdd�WdQRXdS)z@Export the svn repository at the url to the destination locationz!Exporting svn repository %s to %sÚexportF)rN) Ú get_url_revÚget_rev_optionsÚremove_auth_from_urlrrrÚosÚpathÚexistsrr)rrr"ÚrevÚ rev_optionsr#r#r$r&;s    zSubversion.exportcCs|jdg|||gƒdS)NÚswitch)r)rÚdestr"r.r#r#r$r/JszSubversion.switchcCs|jdg||gƒdS)NÚupdate)r)rr0r.r#r#r$r1MszSubversion.updatecCst|jƒ\}}t||ƒ}|j|ƒ}|r.d|}nd}|j||||ƒrptjd||t|ƒƒ|jddg|||gƒdS)Nz (to revision %s)ÚzChecking out %s%s to %sr z-q)r'r(r)Zcheck_destinationrrrr)rr0r"r-r.Z rev_displayr#r#r$ÚobtainPs     zSubversion.obtaincCsfx`|D]X}t|ƒj}|sqd|kr@dj|jdƒdd…ƒjƒ}n|}||jkr|jddƒdSqWdS)Nú-rú#réÿÿÿÿ)rÚ egg_fragmentÚjoinÚsplitÚlowerÚkey)rÚdistZdependency_linksr"r7r;r#r#r$Ú get_locationas   zSubversion.get_locationc Cs°d}x¦tj|ƒD]˜\}}}|j|kr2g|dd…<q|j|jƒtjj||jdƒ}tjj|ƒs^q|j|ƒ\}}||kr~|d} n | s�|j| ƒ ržg|dd…<qt ||ƒ}qW|S)zR Return the maximum revision for all files under a given location rNÚentriesú/) r*ÚwalkÚdirnameÚremover+r8r,Ú_get_svn_url_revÚ startswithÚmax) rrZrevisionÚbaseÚdirsÚfilesZ entries_fnZdirurlZlocalrevZbase_urlr#r#r$Ú get_revisionos"      zSubversion.get_revisioncs,tt|ƒjƒ\}}|jdƒr$d|}||fS)Nzssh://zsvn+)Úsuperr r'rD)rr"r-)Ú __class__r#r$r'Šs zSubversion.get_url_revcCsV|}xBtjjtjj|dƒƒsF|}tjj|ƒ}||krtjd|ƒdSqW|j|ƒdS)Nzsetup.pyzGCould not find setup.py for directory %s (tried all parent directories)r)r*r+r,r8rArrrC)rrZ orig_locationZ last_locationr#r#r$Úget_url‘s zSubversion.get_urlc Cspddlm}tjj||jdƒ}tjj|ƒrHt|ƒ�}|jƒ}WdQRXnd}|j dƒsj|j dƒsj|j dƒr¬t t t j |jdƒƒƒ}|dd=|dd }d d „|Dƒdg}n¨|j d ƒrötj|ƒ}|sÐtd |ƒ‚|jdƒ}dd „tj|ƒDƒdg}n^y<|jdd|gdd�} tj| ƒjdƒ}dd „tj| ƒDƒ}Wn |k �rRdg}}YnX|�rdt|ƒ} nd} || fS)Nr)ÚInstallationErrorr>r2Ú8Ú9Z10z écSs,g|]$}t|ƒdkr|drt|dƒ‘qS)é )ÚlenÚint)Ú.0Údr#r#r$ú µsz/Subversion._get_svn_url_rev..z             zSubversion._get_svn_url_revcCsB|j|ƒ}|dkrdS|jƒjddƒd}|j|ƒ}d|||fS)Nr4rrzsvn+%s@%s#egg=%s)rLZegg_namer9rI)rr<rZrepoZegg_project_namer-r#r#r$Úget_src_requirementÑs   zSubversion.get_src_requirementcCsdS)z&Always assume the versions don't matchFr#)rr0r.r#r#r$Ú check_versionÚszSubversion.check_versioncCs>tj|ƒ}|jjdƒd}|j||j|j|jf}tj|ƒ}|S)Nú@rr6) Ú urllib_parseÚurlsplitÚnetlocr9Úschemer+ZqueryZfragmentZ urlunsplit)r"ZpurlZstripped_netlocZ url_piecesZsurlr#r#r$r)Þs   zSubversion.remove_auth_from_url)r r rrr)Ú__name__Ú __module__Ú __qualname__ÚnamerAZ repo_nameZschemesr%r&r/r1r3r=rIr'rLrCrfrgÚ staticmethodr)Ú __classcell__r#r#)rKr$r s" , r cCs¦|rd|g}ng}tj|ƒ}t|dƒr6|j|j}}nL|d}d|krz|jdƒd}d|krn|jddƒ\}}q‚|d}}nd \}}|r’|d|g7}|r¢|d|g7}|S) Nz-rÚusernamerrhrú:z --usernamez --password)NN)rirjÚhasattrrsÚpasswordr9)r"r-r.ÚrrsrvrkZauthr#r#r$r(ñs$      r()Z __future__rZloggingr*ÚreZpip._vendor.six.moves.urllibrriZ pip.indexrZ pip.utilsrrZpip.utils.loggingrZpip.vcsrr Úcompiler^r`rrrcrbZ getLoggerrmrr r(Úregisterr#r#r#r$Ús&           Y