On Wed, Mar 20, 2013 at 03:30:20PM +0300, Andrey Tataranovich wrote:
> Пробовал смотреть исходники rdiff-backup в районе remove-older-than
>
> # /usr/share/pyshared/rdiff_backup/manage.py
>
> def delete_earlier_than_local(baserp, time):
> """Like delete_earlier_than, but run on local connection for speed"""
> assert baserp.conn is Globals.local_connection
> def yield_files(rp):
> if rp.isdir():
> for filename in rp.listdir():
> for sub_rp in
> yield_files(rp.append(filename)):
> yield sub_rp
> yield rp
>
> for rp in yield_files(baserp):
> if ((rp.isincfile() and rp.getinctime() < time) or
> (rp.isdir() and not rp.listdir())):
> Log("Deleting increment file %s" % rp.path, 5)
> rp.delete()
>
> Насколько я знаю python, оно проходит по инкрементам и строит список
> всех элементов в архиве, затем сравнивает метку времени и удаляет устаревшее.
Никто тут списков не строит, yield_files это итератор.-- WBR, wRAR
signature.asc
Description: Digital signature

