| Index: tools/web_bluetooth/compact_blacklist.py | 
| diff --git a/tools/web_bluetooth/compact_blacklist.py b/tools/web_bluetooth/compact_blacklist.py | 
| deleted file mode 100755 | 
| index dae783f77a51ce3676c0a08e7bc363d3690a93bf..0000000000000000000000000000000000000000 | 
| --- a/tools/web_bluetooth/compact_blacklist.py | 
| +++ /dev/null | 
| @@ -1,113 +0,0 @@ | 
| -#!/usr/bin/env python | 
| -# Copyright 2016 The Chromium Authors. All rights reserved. | 
| -# Use of this source code is governed by a BSD-style license that can be | 
| -# found in the LICENSE file. | 
| - | 
| -"""Script for converting the Web Bluetooth GATT blacklist into the format | 
| -expected by ContentBrowserClient#GetWebBluetoothBlacklist. | 
| - | 
| -See: | 
| -https://github.com/WebBluetoothCG/registries/blob/master/gatt_blacklist.txt | 
| -content/public/browser/content_browser_client.h | 
| - | 
| -Usage: | 
| -  compact_blacklist.py <gatt_blacklist.txt> | 
| -""" | 
| - | 
| -import collections | 
| -import string | 
| -import sys | 
| - | 
| -UUID_LENGTH = 36 | 
| -UUID_BASE_POSTFIX = '-0000-1000-8000-00805f9b34fb' | 
| - | 
| - | 
| -class BadLineException(Exception): | 
| -  pass | 
| - | 
| - | 
| -class InvalidUUIDException(Exception): | 
| -  pass | 
| - | 
| - | 
| -class DuplicateUUIDException(Exception): | 
| -  pass | 
| - | 
| - | 
| -class InvalidExclusionException(Exception): | 
| -  pass | 
| - | 
| - | 
| -def ValidUUID(uuid): | 
| -  if len(uuid) != UUID_LENGTH: | 
| -    return False | 
| -  for i in range(UUID_LENGTH): | 
| -    if i in [8, 13, 18, 23]: | 
| -      if uuid[i] != '-': | 
| -        return False | 
| -    else: | 
| -      if uuid[i] not in string.hexdigits: | 
| -        return False | 
| -  return True | 
| - | 
| - | 
| - | 
| - | 
| -def ShortenUUID(uuid): | 
| -  """Shorten a UUUD that use Bluetooth base UUID. | 
| - | 
| -  Note: this function shortens all UUIDs that use the Bluetooth base | 
| -  UUID even though the specification states that only an assigned UUID | 
| -  can be shortened. In this case it works fine, since the constructor in | 
| -  bluetooth_uuid.cc also works the same way. | 
| -  """ | 
| - | 
| -  if uuid[8:] == UUID_BASE_POSTFIX: | 
| -    new_uuid = '%x' % int(uuid[:8], 16) | 
| -    if len(new_uuid) in [4, 8]: | 
| -      uuid = new_uuid | 
| -  return uuid | 
| - | 
| - | 
| -def Process(line, blacklist): | 
| -  line = line.strip().lower() | 
| -  if not line or line.startswith('#'): | 
| -    return | 
| -  fields = line.split() | 
| -  if len(fields) not in [1, 2]: | 
| -    raise BadLineException('Badly formatted line: %s' % line) | 
| -  uuid = fields[0] | 
| -  if not ValidUUID(uuid): | 
| -    raise InvalidUUIDException('Invalid UUID: %s' % line) | 
| -  uuid = ShortenUUID(uuid) | 
| -  if uuid in blacklist: | 
| -    raise DuplicateUUIDException('Duplicate UUID: %s' % line) | 
| -  if len(fields) == 1: | 
| -    blacklist[uuid] = 'e' | 
| -  elif fields[1] == 'exclude-writes': | 
| -    blacklist[uuid] = 'w' | 
| -  elif fields[1] == 'exclude-reads': | 
| -    blacklist[uuid] = 'r' | 
| -  else: | 
| -    raise InvalidExclusionException('Invalid exclusion value: %s' % line) | 
| - | 
| - | 
| -def main(): | 
| -  if len(sys.argv) != 2: | 
| -    print('Usage: %s <gatt_blacklist.txt>' % sys.argv[0]) | 
| -    return 1 | 
| - | 
| -  try: | 
| -    blacklist = collections.OrderedDict() | 
| -    with open(sys.argv[1]) as f: | 
| -      for line in f: | 
| -        Process(line, blacklist) | 
| -    print(','.join('%s:%s' % (uuid, blacklist[uuid]) for uuid in blacklist)) | 
| -    return 0 | 
| -  except Exception as e: | 
| -    print('Failed to compact blacklist. %s' % e) | 
| -    return 1 | 
| - | 
| - | 
| -if __name__ == '__main__': | 
| -  sys.exit(main()) | 
|  |