root/tools/recorder.py @ b8048e2f8973fcb1cac10a71e11765d586267e7a

Revision b8048e2f8973fcb1cac10a71e11765d586267e7a, 2.1 KB (checked in by Guillaume Pellerin <yomguy@…>, 4 years ago)

add run mode, fix bad tests

  • Property mode set to 100644
Line 
1#!/usr/bin/python
2# -*- coding: utf-8 -*-
3#
4# Copyright (C) 2006-2009 Guillaume Pellerin
5
6# <yomguy@parisson.com>
7
8# This software is a computer program whose purpose is to stream audio
9# and video data through icecast2 servers.
10
11# This software is governed by the CeCILL license under French law and
12# abiding by the rules of distribution of free software. You can use,
13# modify and/ or redistribute the software under the terms of the CeCILL
14# license as circulated by CEA, CNRS and INRIA at the following URL
15# "http://www.cecill.info".
16
17# As a counterpart to the access to the source code and  rights to copy,
18# modify and redistribute granted by the license, users are provided only
19# with a limited warranty and the software's author, the holder of the
20# economic rights, and the successive licensors have only limited
21# liability.
22
23# In this respect, the user's attention is drawn to the risks associated
24# with loading, using,  modifying and/or developing or reproducing the
25# software by the user in light of its specific status of free software,
26# that may mean that it is complicated to manipulate, and that also
27# therefore means that it is reserved for developers and  experienced
28# professionals having in-depth computer knowledge. Users are therefore
29# encouraged to load and test the software's suitability as regards their
30# requirements in conditions enabling the security of their systems and/or
31# data to be ensured and, more generally, to use and operate it in the
32# same conditions as regards security.
33
34# The fact that you are presently reading this means that you have had
35# knowledge of the CeCILL license and that you accept its terms.
36
37# Author: Guillaume Pellerin <yomguy@parisson.com>
38
39import os
40
41class Recorder:
42    """A file streaming iterator"""
43
44    def __init__(self, path):
45        self.path = path
46
47    def open(self, filename):
48        self.filename = filename
49        self.media = open(self.path + os.sep + self.filename, 'w')
50
51    def write(self, chunk):
52        self.media.write(chunk)
53        self.media.flush()
54
55    def close(self):
56        self.media.close()
Note: See TracBrowser for help on using the browser.