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
Attachment:
signature.asc
Description: Digital signature