Рефакторинг метода

master-3.5 3.5.0_alpha10
Mike Hiretsky 8 years ago
parent 671ee41ba6
commit 66f97a637a

@ -362,12 +362,7 @@ class ContentsStorage(ContentsFormat):
f.write("{CATEGORY}/{PN}:{SLOTONLY} ".format(**data['package']))
self._write_info(f, fn, data)
def restore(self, prefix='/'):
"""
Восстановить записи о файлах принадлежащих пакету.
:param prefix:
:return:
"""
def _get_packages(self, prefix='/'):
for package, objinfos in groupby(
sorted(readLinesFile(self.storage_file)),
lambda x: x.partition(" ")[0]):
@ -377,10 +372,19 @@ class ContentsStorage(ContentsFormat):
if package:
package = package[-1]
content = PkgContents(str(package), prefix)
for infoline in (x.strip().partition(' ')[2] for x in objinfos):
fn, data = self._identifyLine(infoline)
if path.exists(fn):
content.content[fn] = data
content.addDir(path.dirname(fn))
os.utime(fn, (int(data['mtime']), int(data['mtime'])))
content.writeContents()
yield content, objinfos
def restore(self, prefix='/'):
"""
Восстановить записи о файлах принадлежащих пакету.
:param prefix:
:return:
"""
for content, objinfos in self._get_packages(prefix):
for infoline in (x.strip().partition(' ')[2] for x in objinfos):
fn, data = self._identifyLine(infoline)
if path.exists(fn):
content.content[fn] = data
content.addDir(path.dirname(fn))
os.utime(fn, (int(data['mtime']), int(data['mtime'])))
content.writeContents()

Loading…
Cancel
Save