示例#1
0
 def clean_mac(self):
     """Clean the mac field"""
     try:
         mac = MacPrefix(self.cleaned_data['mac'])
     except ValueError as error:
         raise forms.ValidationError(error)
     return mac
示例#2
0
文件: models.py 项目: yytsui/nav
    def get_mac_prefix(self):
        """Returns the watched MAC address as a MacPrefix object

        :rtype: nav.macaddress.MacPrefix
        """
        filtered_mac = self._filtered_mac_addr()
        prefix_mac = filtered_mac[0:self.prefix_length]
        return MacPrefix(prefix_mac)
示例#3
0
    def _parse_mac_to_queryset(mac, queryset):
        if not mac:
            return queryset

        try:
            mac = MacPrefix(mac, min_prefix_len=2)
        except ValueError as e:
            raise exceptions.ParseError("mac: %s" % e)

        low, high = mac[0], mac[-1]
        return queryset.extra(where=["mac BETWEEN %s AND %s"],
                              params=[str(low), str(high)])
示例#4
0
def test_macprefix_should_return_zero_padded_when_address_start_with_zero():
    param = u'01:01:01'
    mac_addr = MacPrefix(param)
    assert str(mac_addr) == u'01:01:01'
示例#5
0
def test_macprefix_should_return_correct_value_with_last_key():
    param = 'e4-2f-45'
    mac_addr = MacPrefix(param)
    assert six.text_type(mac_addr[-1]) == u'e4:2f:45:ff:ff:ff'
示例#6
0
def test_macprefix_should_return_correct_value_with_zero_key():
    param = 'e42f.45'
    mac_addr = MacPrefix(param)
    assert six.text_type(mac_addr[0]) == u'e4:2f:45:00:00:00'
示例#7
0
def test_macprefix_has_correct_length_with_prefix_length_eigth():
    param = u'e42f.453d'
    mac_addr = MacPrefix(param)
    assert len(mac_addr) == 65536
示例#8
0
def test_macprefix_has_correct_length_with_prefix_length_six():
    param = 'e4:2f:45'
    mac_addr = MacPrefix(param)
    assert len(mac_addr) == 16777216
示例#9
0
 def test_macprefix_has_correct_length_with_prefix_length_six(self):
     param = 'e4:2f:45'
     mac_addr = MacPrefix(param)
     self.assertEqual(len(mac_addr), 16777216)
示例#10
0
 def test_macprefix_should_return_zero_padded_when_address_start_with_5_zeros(
         self):
     param = u'00:00:01'
     mac_addr = MacPrefix(param)
     self.assertEqual(six.text_type(mac_addr), u'00:00:01')
示例#11
0
 def test_macprefix_with_dot_prefix_should_return_same_prefix(self):
     param = 'e42f.45f'
     mac_addr = MacPrefix(param)
     self.assertEqual(six.text_type(mac_addr), u'e4:2f:45:f')
示例#12
0
 def test_macprefix_should_return_correct_value_with_key_equal_256(self):
     param = u'e4:2f:45:3d'
     mac_addr = MacPrefix(param)
     self.assertEqual(unicode(mac_addr[157]), u'e4:2f:45:3d:00:9d')
示例#13
0
 def test_macprefix_should_return_zero_padded_when_address_start_with_zero(
         self):
     param = u'01:01:01'
     mac_addr = MacPrefix(param)
     self.assertEqual(unicode(mac_addr), u'01:01:01')
示例#14
0
 def test_macprefix_with_dash_prefix_should_return_same_prefix(self):
     param = 'e4-2f-45-f'
     mac_addr = MacPrefix(param)
     self.assertEqual(unicode(mac_addr), u'e4:2f:45:f')
示例#15
0
def test_macprefix_with_dot_prefix_should_return_same_prefix():
    param = 'e42f.45f'
    mac_addr = MacPrefix(param)
    assert six.text_type(mac_addr) == u'e4:2f:45:f'
示例#16
0
def test_macprefix_should_return_zero_padded_when_address_start_with_5_zeros():
    param = u'00:00:01'
    mac_addr = MacPrefix(param)
    assert six.text_type(mac_addr) == u'00:00:01'
示例#17
0
 def test_macprefix_has_correct_length_with_prefix_length_seven(self):
     param = u'e4-2f-45-3'
     mac_addr = MacPrefix(param)
     self.assertEqual(len(mac_addr), 1048576)
示例#18
0
def test_macprefix_has_correct_length_with_prefix_length_seven():
    param = u'e4-2f-45-3'
    mac_addr = MacPrefix(param)
    assert len(mac_addr) == 1048576
示例#19
0
 def test_macprefix_has_correct_length_with_prefix_length_eigth(self):
     param = u'e42f.453d'
     mac_addr = MacPrefix(param)
     self.assertEqual(len(mac_addr), 65536)
示例#20
0
def test_macprefix_has_correct_length_with_full_length_address():
    param = 'e4:2f:45:72:6e:76'
    mac_addr = MacPrefix(param)
    assert len(mac_addr) == 1
示例#21
0
 def test_macprefix_has_correct_length_with_full_length_address(self):
     param = 'e4:2f:45:72:6e:76'
     mac_addr = MacPrefix(param)
     self.assertEqual(len(mac_addr), 1)
示例#22
0
def test_macprefix_should_return_correct_value_with_key_equal_256():
    param = u'e4:2f:45:3d'
    mac_addr = MacPrefix(param)
    assert six.text_type(mac_addr[157]) == u'e4:2f:45:3d:00:9d'
示例#23
0
 def test_macprefix_should_return_correct_value_with_zero_key(self):
     param = 'e42f.45'
     mac_addr = MacPrefix(param)
     self.assertEqual(six.text_type(mac_addr[0]), u'e4:2f:45:00:00:00')
示例#24
0
 def test_macprefix_should_return_correct_value_with_last_key(self):
     param = 'e4-2f-45'
     mac_addr = MacPrefix(param)
     self.assertEqual(six.text_type(mac_addr[-1]), u'e4:2f:45:ff:ff:ff')
示例#25
0
def test_macprefix_with_dash_prefix_should_return_same_prefix():
    param = 'e4-2f-45-f'
    mac_addr = MacPrefix(param)
    assert str(mac_addr) == u'e4:2f:45:f'