def execute(script, data_dir, rev): pagenames = script.request.rootpage.getPageList(user='', include_underlay=False) for pagename in pagenames: attachdir = getAttachDir(script.request, pagename) try: drawings = [fn for fn in os.listdir(attachdir) if fn.endswith('.draw')] except OSError: # silenced. attachment directory does not exist. proceed with next page continue for drawing in drawings: basename = os.path.splitext(drawing)[0] tar_filename = os.path.join(attachdir, basename + '.tdraw') tar = tarfile.open(tar_filename, 'w:') for ext in ['.draw', '.map', '.png', '.gif', ]: filename = os.path.join(attachdir, basename + ext) try: if ext != '.gif': # get rid of the gif (TWikiDraw will (re)create # a .png when someone edits the drawing) # we use drawing.* as tar member filenames EVER, so the # member filenames do not need to be changed when the # tar container file gets renamed: tar.add(filename, 'drawing' + ext) os.remove(filename) except OSError, err: if err.errno != errno.ENOENT: # .map and .png are optional, .draw should be there raise tar.close()
def sendBackup(request): """ Send compressed tar file """ dateStamp = time.strftime("%Y-%m-%d--%H-%M-%S-UTC", time.gmtime()) filename = "%s-%s.tar.%s" % (request.cfg.siteid, dateStamp, request.cfg.backup_compression) request.headers['Content-Type'] = 'application/octet-stream' request.headers['Content-Disposition'] = 'inline; filename="%s"' % filename tar = tarfile.open(fileobj=request, mode="w|%s" % request.cfg.backup_compression) # allow GNU tar's longer file/pathnames tar.posix = False for path in request.cfg.backup_include: addFiles(path, tar, request.cfg.backup_exclude) tar.close()
def execute(script, data_dir, rev): pagenames = script.request.rootpage.getPageList(user='', include_underlay=False) for pagename in pagenames: attachdir = getAttachDir(script.request, pagename) try: drawings = [ fn for fn in os.listdir(attachdir) if fn.endswith('.draw') ] except OSError: # silenced. attachment directory does not exist. proceed with next page continue for drawing in drawings: basename = os.path.splitext(drawing)[0] tar_filename = os.path.join(attachdir, basename + '.tdraw') tar = tarfile.open(tar_filename, 'w:') for ext in [ '.draw', '.map', '.png', '.gif', ]: filename = os.path.join(attachdir, basename + ext) try: if ext != '.gif': # get rid of the gif (TWikiDraw will (re)create # a .png when someone edits the drawing) # we use drawing.* as tar member filenames EVER, so the # member filenames do not need to be changed when the # tar container file gets renamed: tar.add(filename, 'drawing' + ext) os.remove(filename) except OSError, err: if err.errno != errno.ENOENT: # .map and .png are optional, .draw should be there raise tar.close()
def untarUnderlay(): print 'untaring underlay ...' tar = tarfile.open(os.path.join(SHARE, 'underlay.tar')) for member in tar: tar.extract(member, WIKI) tar.close()
def untarUnderlay(): print "untaring underlay ..." tar = tarfile.open(os.path.join(SHARE, "underlay.tar")) for member in tar: tar.extract(member, WIKI) tar.close()