Source code for nuka.tasks.archive

# -*- coding: utf-8 -*-
"""
"""
import os

from nuka.task import Task
from nuka.tasks import http


[docs]class untar(Task): def __init__(self, src=None, dst=None, **kwargs): kwargs.setdefault('name', src) super(untar, self).__init__(src=src, dst=dst, **kwargs) def do(self): remove = False src = self.args['src'] if src.startswith('http'): remove = True res = self.check(http.fetch(src=src).do()) src = res['dst'] res = self.sh(['tar', '-C', self.args['dst'], '-xzf', src]) if remove: os.unlink(src) return res