Beispiel #1
0
    def test_delete_dns_info(self):
        expected = """# Generated by Wader
nameserver 10.0.0.1
nameserver 10.0.0.2
"""
        self.named_manager.add_dns_info(["10.0.0.1", "10.0.0.2"])
        self.assertEqual(expected, get_file_data(self.path))
        self.named_manager.delete_dns_info(["10.0.0.1", "10.0.0.2"])
        self.assertEqual("", get_file_data(self.path))
Beispiel #2
0
 def get_iface_stats(self, iface):
     """See :meth:`wader.common.interfaces.IOSPlugin.get_iface_stats`"""
     stats_path = "/sys/class/net/%s/statistics" % iface
     rx_b = join(stats_path, 'rx_bytes')
     tx_b = join(stats_path, 'tx_bytes')
     try:
         return map(int, [get_file_data(rx_b), get_file_data(tx_b)])
     except (IOError, OSError):
         return 0, 0
Beispiel #3
0
    def test_get_file_data(self):
        """
        Test reading a random file with ``get_file_data``
        """
        text = os.urandom(2000)
        path = '/tmp/file.foo'
        fobj = open(path, 'w')
        fobj.write(text)
        fobj.close()

        self.assertEqual(text, get_file_data(path))
        os.unlink(path)
Beispiel #4
0
    def is_valid(self):
        if not exists('/etc/lsb-release'):
            return False

        lsb = get_file_data('/etc/lsb-release')
        if 'Ubuntu' in lsb:
            match = re.search(VERS_REGEX, lsb,  re.MULTILINE)
            if match:
                vers = match.group('version').replace('.','')
                try:
                    self.version = int(vers)
                except ValueError:
                    pass

            return True

        return False
Beispiel #5
0
    def _get_hso_ports(self, ports):
        dport = cport = None
        for port in ports:
            name = port.split('/')[-1]
            path = join('/sys/class/tty', name, 'hsotype')

            if exists(path):
                what = get_file_data(path).strip().lower()
                if what == 'modem':
                    dport = port
                elif what == 'application':
                    cport = port

                if dport and cport:
                    break

        return dport, cport
Beispiel #6
0
    def is_valid(self):
        if not exists("/etc/lsb-release"):
            return False

        lsb = get_file_data("/etc/lsb-release")
        if "LinuxMint" in lsb:
            match = re.search(VERS_REGEX, lsb, re.MULTILINE)
            if match:
                vers = match.group("version")
                try:
                    self.version = int(vers)
                except ValueError:
                    pass

            return True

        return False
Beispiel #7
0
    def add_dns_info(self, dns):
        if self.old_contents is not None:
            # just log it, don't fail
            msg = "NamedManager old_contents not empty: %s"
            log.err(msg % self.old_contents)
            return

        # backup old data
        real_path = os.path.realpath(self.resolvconf_path)
        self.old_contents = get_file_data(real_path)
        # set new DNS data
        to_write = []
        if dns:
            to_write.append("# Generated by Wader")
            for d in dns:
                to_write.append("nameserver %s" % d)
            to_write.append('')

        save_file(real_path, '\n'.join(to_write))
Beispiel #8
0
 def get_timezone(self):
     timezone_re = re.compile('ZONE="(?P<tzname>[\w/]+)"')
     sysconf_clock_file = get_file_data('/etc/sysconfig/clock')
     search_dict = timezone_re.search(sysconf_clock_file).groupdict()
     return search_dict['tzname']
Beispiel #9
0
 def get_timezone(self):
     return get_file_data('/etc/timezone').replace('\n', '')