def recent_feed(): feed = AtomFeed(g.config["BLOGNAME"], feed_url=request.url, url=request.url_root) posts = Post.get_list( Post.allow_visit == True).order_by(-Post.id).limit(20) for post in posts: if not post.need_key: feed.add(post.title, post.html_content, content_type='html', author=u"博主", url=make_external('page/' + quote(post.url)), updated=post.update_time, published=post.create_time) else: feed.add(post.title, u"文章被加密,输入密码查看", content_type='html', author=u"博主", url=make_external('page/' + quote(post.url)), updated=post.update_time, published=post.create_time) return feed.get_response()
def call(cmd, *args): command = [cmd] + list(args) print('Running:', ' '.join(quote(c) for c in command)) try: return subprocess.check_output(command, cwd=ROOT_DIR).decode() except subprocess.CalledProcessError as e: assert False, 'Command: %s failed: %s'.format(' '.join(command))
def _get_auth_header(self): ''' Constructs and returns an authentication header. ''' realm = 'realm="{realm}"'.format(realm=self.realm) params = [ '{k}="{v}"'.format(k=k, v=quote(str(v), safe='')) for k, v in self.oauth_params.items() ] return 'OAuth ' + ','.join([realm] + params)
def call(cmd, *args): path = os.path.join('tools', cmd) command = [path] + list(args) print('Running:', ' '.join(quote(c) for c in command)) try: return subprocess.check_output(command, cwd=ROOT_DIR) except subprocess.CalledProcessError as e: assert False, 'Command: {} failed'.format(' '.join(command))
def _escape(self, s): ''' Escapes a string, ensuring it is encoded as a UTF-8 octet. :param s: A string to be encoded. :type s: str ''' return quote(self._ensure_unicode(s), safe='~').encode('utf-8')
def main(): parser = argparse.ArgumentParser() parser.add_argument('--ccache', action='store_true', default=False) parser.add_argument('--host-only', action='store_true', default=False) parser.add_argument('--android', action='store_true', default=False) parser.add_argument('--build', metavar='TARGET') args = parser.parse_args() configs = {} if not args.host_only: if args.android: for config_name, gn_args in iteritems(ANDROID_BUILD_CONFIGS): for arch in ANDROID_ARCHS: full_config_name = '%s_%s' % (config_name, arch) configs[full_config_name] = gn_args + ('target_cpu="%s"' % arch, ) for config_name, gn_args in iteritems(LINUX_BUILD_CONFIGS): if dict(a.split('=') for a in gn_args).get('is_clang', None) == 'true': continue for arch in LINUX_ARCHS: full_config_name = '%s_%s' % (config_name, arch) configs[full_config_name] = gn_args + ( 'target_cpu="%s"' % arch, 'target_os="linux"') system = platform.system().lower() if system == 'linux': configs.update(LINUX_BUILD_CONFIGS) elif system == 'darwin': configs.update(MAC_BUILD_CONFIGS) else: assert False, 'Unsupported system %r' % system if args.ccache: for config_name, gn_args in iteritems(configs): configs[config_name] = gn_args + ('cc_wrapper="ccache"', ) out_base_dir = os.path.join(ROOT_DIR, 'out') if not os.path.isdir(out_base_dir): os.mkdir(out_base_dir) gn = os.path.join(ROOT_DIR, 'tools', 'gn') for config_name, gn_args in iteritems(configs): print('\n\033[32mBuilding %-20s[%s]\033[0m' % (config_name, ','.join(gn_args))) out_dir = os.path.join(ROOT_DIR, 'out', config_name) if not os.path.isdir(out_dir): os.mkdir(out_dir) gn_cmd = (gn, 'gen', out_dir, '--args=%s' % (' '.join(gn_args)), '--check') print(' '.join(quote(c) for c in gn_cmd)) subprocess.check_call(gn_cmd, cwd=ROOT_DIR) if args.build: ninja = os.path.join(ROOT_DIR, 'tools', 'ninja') ninja_cmd = (ninja, '-C', '.', args.build) subprocess.check_call(ninja_cmd, cwd=out_dir)
def joinArgs(args): if not args: return '' arglist = [] for key in sorted(args, key=lambda x: x.lower()): value = str(args[key]) arglist.append('{0}={1}'.format(key, compat.quote(value))) return '?{0}'.format('&'.join(arglist))
def escape(s): """Escape a URL including any /. return py2str py3str """ # py3k if hasattr(str, 'decode') and type(s) != str: # FIXME assume py2unicode s = s.encode('utf-8') ret = quote(s, safe='~') if type(ret) != str: return str(ret) return ret
def recent_feed(): feed = AtomFeed(g.config["BLOGNAME"], feed_url=request.url, url=request.url_root) postlist = Post.get_page(0, g.config["RSS_ITEM_COUNT"], allow_visit=True) for post in postlist: if not post.need_key: feed.add(post.title, post.html_content, content_type='html', author=u"博主", url=make_external('page/' + quote(post.url)), updated=post.update_time, published=post.create_time) else: feed.add(post.title, u"文章被加密,输入密码查看", content_type='html', author=u"博主", url=make_external('page/' + quote(post.url)), updated=post.update_time, published=post.create_time) return feed.get_response()
def build_path(self): for variable in re_path_template.findall(self.path): name = variable.strip('{}') if name == 'user' and self.api.auth: value = self.api.auth.get_username() else: try: value = quote(self.parameters[name]) except KeyError: raise QWeiboError('No parameter value found for path variable: %s' % name) del self.parameters[name] self.path = self.path.replace(variable, value)
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from __future__ import print_function import os import shutil import subprocess import sys from compat import quote from platform import system GN_ARGS = ' '.join( quote(s) for s in ( 'is_debug=false', 'is_perfetto_build_generator=true', 'is_perfetto_embedder=true', 'use_custom_libcxx=false', 'enable_perfetto_ipc=true', )) ROOT_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) OUT_DIR = os.path.join('out', 'amalgamated') GEN_AMALGAMATED = os.path.join('tools', 'gen_amalgamated') def call(cmd, *args): command = [cmd] + list(args) print('Running:', ' '.join(quote(c) for c in command))
def urlencode(uri, **query): return quote(uri.encode('utf-8'))