Example #1
0
def parse_shard_size(size):
    """ Parse a string, expected to be in the format of, for example:
    250m, 512k, 1024b.  A string without a trailing letter is assumed to be
    bytes. Accepts the following: m as mebibytes, k as kibibytes, b as bytes,


    :param size:
    :return:
    """
    size = str(size)
    if size.isdigit():
        return int(size)
    last = size[-1].lower()
    number = size[:-1]
    choices = ['b', 'k', 'm']
    if last not in choices:
        return
    if last == 'b':
        return int(number)
    elif last == 'k':
        return SizeHelpers.kib_to_bytes(int(number))
    elif last == 'm':
        return SizeHelpers.mib_to_bytes(int(number))
Example #2
0
def parse_shard_size(size):
    """ Parse a string, expected to be in the format of, for example:
    250m, 512k, 1024b.  A string without a trailing letter is assumed to be
    bytes. Accepts the following: m as mebibytes, k as kibibytes, b as bytes,


    :param size:
    :return:
    """
    size = str(size)
    if size.isdigit():
        return int(size)
    last = size[-1].lower()
    number = size[:-1]
    choices = ['b', 'k', 'm']
    if last not in choices:
        return
    if last == 'b':
        return int(number)
    elif last == 'k':
        return SizeHelpers.kib_to_bytes(int(number))
    elif last == 'm':
        return SizeHelpers.mib_to_bytes(int(number))
Example #3
0
 def test_tell(self):
     number = random.randint(1, SizeHelpers.kib_to_bytes(768))
     self.shard.seek(number)
     self.assertEqual(self.shard.tell(), number)
Example #4
0
 def test_read_with_size(self):
     fivetwelvekay = SizeHelpers.kib_to_bytes(512)
     read = self.shard.read(fivetwelvekay)
     self.assertEqual(fivetwelvekay, len(read))
Example #5
0
 def test__len__(self):
     fivetwelvekay = SizeHelpers.kib_to_bytes(512)
     self.shard.read(fivetwelvekay)
     self.assertTrue(self.shard.__len__() < self.shard.max_seek)
Example #6
0
 def test_calc_max_seek_beginning_small_shard(self):
     self.shard.shard_size = SizeHelpers.kib_to_bytes(512)
     self.shard._calc_max_seek()
     self.assertEqual(self.shard.max_seek, self.shard.shard_size)
Example #7
0
 def test_seek(self):
     number = random.randint(1, SizeHelpers.kib_to_bytes(768))
     self.shard.seek(number)
     self.assertEqual(self.shard._f_obj.tell(), number)
Example #8
0
 def test_read_with_size(self):
     fivetwelvekay = SizeHelpers.kib_to_bytes(512)
     read = self.shard.read(fivetwelvekay)
     self.assertEqual(fivetwelvekay, len(read))
Example #9
0
 def test__len__(self):
     fivetwelvekay = SizeHelpers.kib_to_bytes(512)
     self.shard.read(fivetwelvekay)
     self.assertTrue(self.shard.__len__() < self.shard.max_seek)
Example #10
0
 def test_calc_max_seek_beginning_small_shard(self):
     self.shard.shard_size = SizeHelpers.kib_to_bytes(512)
     self.shard._calc_max_seek()
     self.assertEqual(self.shard.max_seek, self.shard.shard_size)