o —~µ_« ã@sbddlmZddlZddlZddlmZdZGdd„dejjƒZ ej  de ¡ejj   dg¡dS)é)ÚrangeN)ÚutilÚhsic@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú HSIBackendcCs@tjj ||¡|j|_|j|_|jr|jd|_dSd|_dS)Nú/Ú) Ú duplicityÚbackendÚBackendÚ__init__ÚhostnameÚ host_stringÚpathÚ remote_dirÚ remote_prefix)ÚselfÚ parsed_url©rú?/usr/lib/python3/dist-packages/duplicity/backends/hsibackend.pyr s  zHSIBackend.__init__cCs8t|djƒr t |¡}dt|j|j|f}| |¡dS)Nóz%s "put %s : %s%s"©Ú isinstanceÚ __class__rÚfsdecodeÚ hsi_commandÚuc_namerÚsubprocess_popen)rÚ source_pathÚremote_filenameÚ commandlinerrrÚ_put(ó  zHSIBackend._putcCs8t|djƒr t |¡}dt|j|j|f}| |¡dS)Nrz%s "get %s : %s%s"r)rrÚ local_pathrrrrÚ_get.r!zHSIBackend._getcCsrdt|jf}| |¡d}| tj ¡¡dd…}tdt|ƒƒD]}||r1|| ¡d||<q!dd„|DƒS)Nz %s "ls -l %s"ééréÿÿÿÿcSsg|] }|rt |¡‘qSr)rÚfsencode)Ú.0ÚxrrrÚ ;sz$HSIBackend._list..) rrrÚsplitÚosÚlinesepÚencoderÚlen)rrÚlÚirrrÚ_list4s€zHSIBackend._listcCs4t|djƒr t |¡}dt|j|f}| |¡dS)Nrz %s "rm %s%s")rrrrrrr)rÚfilenamerrrrÚ_delete=s  zHSIBackend._deleteN)Ú__name__Ú __module__Ú __qualname__r r r#r2r4rrrrrs   r) Úbuiltinsrr,Úduplicity.backendrrrr r rÚregister_backendÚ uses_netlocÚextendrrrrÚs  &