| LEFT | RIGHT |
| 1 # coding: utf-8 | 1 # coding: utf-8 |
| 2 | 2 |
| 3 # This file is part of the Adblock Plus build tools, | 3 # This file is part of the Adblock Plus build tools, |
| 4 # Copyright (C) 2006-2013 Eyeo GmbH | 4 # Copyright (C) 2006-2013 Eyeo GmbH |
| 5 # | 5 # |
| 6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
| 7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
| 8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
| 9 # | 9 # |
| 10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 'pt': 'pt_PT', | 272 'pt': 'pt_PT', |
| 273 } | 273 } |
| 274 for chromeLocale, operaLocale in operaMapping.iteritems(): | 274 for chromeLocale, operaLocale in operaMapping.iteritems(): |
| 275 chromeFile = '_locales/%s/messages.json' % chromeLocale | 275 chromeFile = '_locales/%s/messages.json' % chromeLocale |
| 276 operaFile = '_locales/%s/messages.json' % operaLocale if operaLocale != No
ne else None | 276 operaFile = '_locales/%s/messages.json' % operaLocale if operaLocale != No
ne else None |
| 277 if chromeFile in files: | 277 if chromeFile in files: |
| 278 if operaFile != None: | 278 if operaFile != None: |
| 279 files[operaFile] = files[chromeFile] | 279 files[operaFile] = files[chromeFile] |
| 280 del files[chromeFile] | 280 del files[chromeFile] |
| 281 | 281 |
| 282 if params['type'] in ('opera', 'safari'): | |
| 283 # Hack: Replace "Chrome" by "Opera" or "Safari" in the locales | |
| 284 for path, data in files.iteritems(): | |
| 285 if path.startswith("_locales/") and path.endswith("/messages.json"): | |
| 286 # Hack: There is exactly one text (in the first run page) that contains | |
| 287 # "Google Chrome" and means Google Chrome, even though it is only shown | |
| 288 # on Safari. | |
| 289 files[path] = re.sub(r"\b(?<!Google )Chrome\b", params['type'].capitaliz
e(), data) | |
| 290 | |
| 291 def signBinary(zipdata, keyFile): | 282 def signBinary(zipdata, keyFile): |
| 292 import M2Crypto | 283 import M2Crypto |
| 293 if not os.path.exists(keyFile): | 284 if not os.path.exists(keyFile): |
| 294 M2Crypto.RSA.gen_key(1024, 65537, callback=lambda x: None).save_key(keyFile,
cipher=None) | 285 M2Crypto.RSA.gen_key(1024, 65537, callback=lambda x: None).save_key(keyFile,
cipher=None) |
| 295 key = M2Crypto.EVP.load_key(keyFile) | 286 key = M2Crypto.EVP.load_key(keyFile) |
| 296 key.sign_init() | 287 key.sign_init() |
| 297 key.sign_update(zipdata) | 288 key.sign_update(zipdata) |
| 298 return key.final() | 289 return key.final() |
| 299 | 290 |
| 300 def getPublicKey(keyFile): | 291 def getPublicKey(keyFile): |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 def shutdown_server(server): | 384 def shutdown_server(server): |
| 394 time.sleep(10) | 385 time.sleep(10) |
| 395 server.shutdown() | 386 server.shutdown() |
| 396 thread.start_new_thread(shutdown_server, (server,)) | 387 thread.start_new_thread(shutdown_server, (server,)) |
| 397 server.serve_forever() | 388 server.serve_forever() |
| 398 | 389 |
| 399 if connections[0] == 0: | 390 if connections[0] == 0: |
| 400 print 'Warning: No incoming connections, extension probably not active in th
e browser yet' | 391 print 'Warning: No incoming connections, extension probably not active in th
e browser yet' |
| 401 else: | 392 else: |
| 402 print 'Handled %i connection(s)' % connections[0] | 393 print 'Handled %i connection(s)' % connections[0] |
| LEFT | RIGHT |