|
|
|
@ -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,6 +372,15 @@ class ContentsStorage(ContentsFormat):
|
|
|
|
|
if package:
|
|
|
|
|
package = package[-1]
|
|
|
|
|
content = PkgContents(str(package), prefix)
|
|
|
|
|
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):
|
|
|
|
|