Mercurial > piecrust2
diff piecrust/admin/scm/base.py @ 778:5e91bc0e3b4d
internal: Move admin panel code into the piecrust package.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 16 Jul 2016 15:02:24 +0200 |
parents | foodtruck/scm/base.py@a77b4656c602 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/piecrust/admin/scm/base.py Sat Jul 16 15:02:24 2016 +0200 @@ -0,0 +1,33 @@ + + +class RepoStatus(object): + def __init__(self): + self.new_files = [] + self.edited_files = [] + + +class SourceControl(object): + def __init__(self, root_dir, cfg): + self.root_dir = root_dir + self.config = cfg + + def getStatus(self): + raise NotImplementedError() + + def commit(self, paths, message, *, author=None): + if not message: + raise ValueError("No message specified for committing changes.") + author = author or self.config.get('author') + self._doCommit(paths, message, author) + + def _doCommit(self, paths, message, author): + raise NotImplementedError() + + +def _s(strs): + """ Convert a byte array to string using UTF8 encoding. """ + if strs is None: + return None + assert isinstance(strs, bytes) + return strs.decode('utf8') +