资源简介
Support for multiple Pepper versions to compile for specific minimum versions of Chrome.
Update utility to download new bundles and updates to existing bundles.
Toolchains to compile for Portable Native Client (PNaCl), traditional Native Client (NaCl), and for compiling architecture-specific Native Client applications with glibc
代码片段和文件信息
# Copyright (c) 2012 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.
import json
import logging
import urlparse
from sdk_update_common import Error
SOURCE_WHITELIST = [
‘http://localhost/‘ # For testing.
‘https://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk‘
]
def IsSourceValid(url):
# E1101: Instance of ‘ParseResult‘ has no ‘scheme‘ member
# pylint: disable=E1101
given = urlparse.urlparse(url)
for allowed_url in SOURCE_WHITELIST:
allowed = urlparse.urlparse(allowed_url)
if (given.scheme == allowed.scheme and
given.hostname == allowed.hostname and
given.path.startswith(allowed.path)):
return True
return False
class Config(dict):
def __init__(self data=None):
dict.__init__(self)
if data:
self.update(data)
else:
self.sources = []
def LoadJson(self json_data):
try:
self.update(json.loads(json_data))
except Exception as e:
raise Error(‘Error reading json config:\n%s‘ % str(e))
def ToJson(self):
try:
return json.dumps(self sort_keys=False indent=2)
except Exception as e:
raise Error(‘Json encoding error writing config:\n%s‘ % e)
def __getattr__(self name):
if name in self:
return self[name]
else:
raise AttributeError(‘Config does not contain: %s‘ % name)
def __setattr__(self name value):
self[name] = value
def AddSource(self source):
if not IsSourceValid(source):
logging.warn(‘Only whitelisted sources are allowed. Ignoring \“%s\“.‘ % (
source))
return
if source in self.sources:
logging.info(‘Source \“%s\“ already in Config.‘ % (source))
return
self.sources.append(source)
def RemoveSource(self source):
if source not in self.sources:
logging.warn(‘Source \“%s\“ not in Config.‘ % (source))
return
self.sources.remove(source)
def RemoveAllSources(self):
if not self.sources:
logging.info(‘No sources to remove.‘)
return
self.sources = []
相关资源
- google地图下载192773
- 4360GoogleAVA数据集百度云地址及相关介
- GoogleEarth7.1可用的hosts
- google上的recaptchaapi.js
- Google资深工程师深度讲解Go语言.txt
- google word2vec开源项目
- tensorflow+inceptionv3网络
- google-api
- Session Buddy.rar
- Astar,Google小插件,压缩包:1.0.3_0.
- google 的JSON插件
- 浅谈向GOOGLE EARTH发布3D模型的方法
- GoogleNews-vectors-negative300.bin 压缩包2/
- GoogleNews-vectors-negative300.bin 压缩包1/
- Google Hack V2.0.rar
- Google 地图获取API Key详细教程
- Google Earth KML文件生成器
- google翻译接口js的api实现与C#两个版
- Google大数据三大经典论文
- GoogleKML工具
- 实现输入内容提示的功能仿google_百度
- 中国山脉分布图.kmz
- Mapinfo转Google的KML插件Mapinfo2Google.MBX
- GoogleMapAPIV3
- google cleaner
- googleearth与cad格式相互转换工具
- Google地图API接口
- Firebug Lite for Google Chrome
- 添加Microsoft Visual Studio 解决方案平台
- google earth web api
评论
共有 条评论