def get_page(self,arch,version,path,fpath): manifest = fetcher.fetch(arch,version,'manifest.xml') if manifest is not None: #Version(value=version,key_name=version).put() version_ok(arch,version) else: self.response.out.write("Sorry, could not fetch manifest for {0} version".format(version)) return manifest = Manifest(manifest) path = path[1:] if fpath != '': print 'file requested!' else: if path == '': nodes = manifest.files.keys() else: l = len(path) nodes = [f[l:] for f in manifest.files.keys() if f.startswith(path)] dirs = [] files = [] for x in nodes: n = x.split('/') if len(n) == 1: x = path + x f = { 'path' : n[0] , 'version' : fetcher.normalize_ver(manifest.files[x]['version']), 'size' : manifest.files[x]['size'] } f['lang'] = get_lang(n[0]) f['fullpath'] = x files.append(f) else: dirs.append(n[0]) dirs = frozenset(dirs) if path != '': up_url = '..' else: up_url = '' template_values = { 'version': version, 'path': path, 'dirs': sorted(list(dirs)), 'files' : files, 'up_url' : up_url, 'base_url' : fetcher.get_base_url(arch), 'base_url2' : fetcher.get_base_url(arch, 1), } template = templates.get_template('folder.html') return template.render(template_values)
def get_page(self,arch,version): manifest = fetcher.fetch(arch,version,'manifest.xml') if manifest is not None: version_ok(arch,version) else: self.response.out.write("Sorry, could not fetch manifest for {0} version".format(version)) return manifest = Manifest(manifest) data = fetcher.fetch(arch,fetcher.normalize_ver(manifest.files['change_log_color.txt']['version']),'change_log_color.txt') if data is None: return data = data.read() try: data = data.decode('utf8') except: data = data.decode('cp1251') data = data.replace('\r\n','\n') data = hon2html(data) data = re.sub(ver_sub,r'\1[color=Yellow][SIZE=6][b]\2[/b][/size][/color]',data) data = re.sub(head_sub,r'\1[B]==[SIZE=4]\2[/size]==[/b]',data) data = re.sub(hr_sub,r'[hr][/hr]',data) smilies = fetch_honsmilies() data = re.sub(smilies[0],lambda m: '%s%s [b]%s[/b]' % (m.group(1), smilies[1][m.group(2).lower()], m.group(2)),data) return ''.join(['<pre>',data,'</pre>'])