")
for file in dirlist:
text = filetext(file)
if "No description available" in text:
continue
label = file.replace(",1","").replace(".txt", "").rsplit("/",1)[-1]
if count % columns == 0:
year = label[-10:-6]
if year.isdigit():
out("%s... | \n" % year)
out("" %(90/columns,))
count += 1
out("%s" % (file, label ))
if prev:
a = [ line.strip() for line in ptxt.splitlines() ]
b = [ line.strip() for line in text.splitlines() ]
diff = list(difflib.ndiff(a, b))
add = [ d for d in diff if d.startswith('+')]
zap = [ d for d in diff if d.startswith('-')]
zapfrac = 0.05 + 1.2 * len(zap) / (len(a) or 1)
addfrac = 0.05 + 1.2 * len(add) / (len(b) or 1)
out(" " % (wg, prev, wg, file))
out("Δ ")
out(" " % (zapfrac, len(zap)))
out(" " % (addfrac, len(add)))
out("")
else:
out(" ")
out(" | \n")
if count % columns == 0:
out("
\n")
prev = file
ptxt = text
out("
")
page=basename(filename)[:-5]
if page.endswith("s"):
page = page[:-1]
dirlist = glob("./", "%s-%s-*.txt" % (page, wg))
if not dirlist:
dirlist = glob("./", "charter-%s.txt" % wg)
#dirlist.reverse()
wgstatus = filetext("status.txt").strip()
wgname = filetext("name.txt").strip()
if "Area" in wgstatus or "Area" in wgname:
pass
else:
if wgstatus[:6].lower() == "active":
out('
Current official charter page' % (wg, ))
elif wgstatus[:9].lower() == "concluded":
out('
Current official charter page' % (wg, ))
else:
pass
difftable(dirlist)
?>
\n" % (var, os.environ[var]))
def get_mnum(str):
if str:
try:
pref = "charter-%s-"%wg
return str[str.index(pref)+len(pref):str.rindex(".")]
except ValueError:
try:
return str[str.index(".2"):str.rindex(",")][1:]
except ValueError:
return str[8:str.find(".")]
else:
return str
item = args.get("item")
if dirlist:
if not item:
# Handle urls of the form /wg/wgname/agenda.pyht/64
path_info = os.environ["PATH_TRANSLATED"].replace(filename, "")[1:]
if path_info:
item = page+path_info+".html"
if not item in dirlist:
item = page+path_info+".txt"
if not item in dirlist:
item = None
current_meeting = filetext("../../meta/current-ietf-number.txt").strip()
if not item:
item = dirlist[-1]
if item:
try:
if item[-5:] == ".html":
file = open(item)
content = file.read()
file.close()
else:
from pipe import pipe
del os.environ["QUERY_STRING"]
os.environ["SCRIPT_NAME"]="/html"
code, content, err = pipe('/www/tools.ietf.org/tools/rfcmarkup/rfcmarkup "staticpath=/html&blurb=0&doc=%s"' % item)
#url = "https://tools.ietf.org/tools/rfcmarkup/rfcmarkup.cgi?blurb=0&optstatic=/html&doc=%s" % (item)
#file = urllib.urlopen(url)
#content = file.read()
#file.close()
if "Sorry, couldn't find" in content or (code != 0):
file = open(item)
content = "
"+file.read()+"
"
file.close()
else:
content = re.sub("(?i)<(!DOCTYPE|/?html|/?body)[^>]*>\n*", "", content)
content = re.sub("(?si)]*>.*\n*", "", content)
content = re.sub("(?si)\n*", "", content)
content = re.sub('
*', '', content)
if re.search("?h1", content):
func = lambda x: "<%sh%s" % (x.group(1),int(x.group(2))+1)
content = re.sub("<(/?)h([1-8])", func , content)
except:
content = ""
else:
content = ""
num = get_mnum(item)
if num:
out("
%s %s
\n" % (num, page))
print content
?>