refactor: extract obs fate algorithm from _getobsoletereason
Refactor _getobsoletereason to extract the obs fate computation into a
separate function, it will be used later and put it in obshistory as it will
be needed in other files.
Rename _getobsoletereason to _getobsoletefateandsuccessors.
#!/usr/bin/env pythonimportosimportos.pathasopimportreimportsys# line starts with two chars one of which is not a space (and both are not# newlines obviously) and ends with one or more newlines followed by two spaces# on a next line (indented text)CODEBLOCK=re.compile(r'()\n(([^ \n][^\n]|[^\n][^ \n])[^\n]*)\n+ ')INDEX='''Mercurial tests===============.. toctree:: :maxdepth: 1'''defrstify(orig,name):header='%s\n%s\n\n'%(name,'='*len(name))content=header+origcontent=CODEBLOCK.sub(r'\n\1\n\n::\n\n ',content)returncontentdefmain(base):ifos.path.isdir(base):one_dir(base)else:one_file(base)defone_dir(base):index=INDEX# doc = lambda x: op.join(op.dirname(__file__), 'docs', x)forfninsorted(os.listdir(base)):ifnotfn.endswith('.t'):continuename=os.path.splitext(fn)[0]content=one_file(op.join(base,fn))target=op.join(base,name+'.rst')# with file(doc(name + '.rst'), 'w') as f:withopen(target,'w')asf:f.write(content)index+='\n '+name# with file(doc('index.rst'), 'w') as f:# f.write(index)defone_file(path):name=os.path.basename(path)[:-2]returnrstify(open(path).read(),name)if__name__=='__main__':iflen(sys.argv)!=2:print('Please supply a path to tests dir as parameter')sys.exit()main(sys.argv[1])