diff options
Diffstat (limited to 'summainlib.py')
-rw-r--r-- | summainlib.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/summainlib.py b/summainlib.py index 07895e1..e148760 100644 --- a/summainlib.py +++ b/summainlib.py @@ -14,6 +14,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import base64 import grp import hashlib import hmac @@ -220,7 +221,14 @@ class FilesystemObject(object): def _compute_xattrs(self): # pragma: no cover if len(self._xattrs) == 0: return '' - parts = [' %s=%s' % (k, self._xattrs[k]) for k in self._xattrs] + + def quote(s): + if s.isalnum(): + return '"%s"' % s + else: + return '0s' + base64.urlsafe_b64encode(s) + + parts = [' %s=%s' % (k, quote(self._xattrs[k])) for k in self._xattrs] return '\n' + '\n'.join(parts) def format_time(self, secs, nsecs): |