##// END OF EJS Templates
moved permission management into separate entity....
moved permission management into separate entity. - this solves issues when whole form submision could influence permission management particular case is that when repo group permission is revoked and user is no longer able to update repository settings

File last commit:

r2007:324ac367 beta
r3628:c734686b beta
Show More
archivers.py
67 lines | 1.2 KiB | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
"""
vcs.utils.archivers
~~~~~~~~~~~~~~~~~~~
set of archiver functions for creating archives from repository content
:created_on: Jan 21, 2011
:copyright: (c) 2010-2011 by Marcin Kuzminski, Lukasz Balcerzak.
"""
class BaseArchiver(object):
def __init__(self):
self.archive_file = self._get_archive_file()
def addfile(self):
"""
Adds a file to archive container
"""
pass
def close(self):
"""
Closes and finalizes operation of archive container object
"""
self.archive_file.close()
def _get_archive_file(self):
"""
Returns container for specific archive
"""
raise NotImplementedError()
class TarArchiver(BaseArchiver):
pass
class Tbz2Archiver(BaseArchiver):
pass
class TgzArchiver(BaseArchiver):
pass
class ZipArchiver(BaseArchiver):
pass
def get_archiver(self, kind):
"""
Returns instance of archiver class specific to given kind
:param kind: archive kind
"""
archivers = {
'tar': TarArchiver,
'tbz2': Tbz2Archiver,
'tgz': TgzArchiver,
'zip': ZipArchiver,
}
return archivers[kind]()