mirror of
https://github.com/satwikkansal/wtfpython
synced 2025-07-04 20:38:06 +02:00
Move stuff to obsolete package.
Not deleting it for quick future reference for contributors and myself.
This commit is contained in:
parent
0160d5019b
commit
1d467287ef
4 changed files with 0 additions and 0 deletions
151
irrelevant/obsolete/parse_readme.py
Normal file
151
irrelevant/obsolete/parse_readme.py
Normal file
|
@ -0,0 +1,151 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
This inefficient module would parse the README.md in the initial version of
|
||||
WTFPython, and enable me to categorize and reorder a hell lot of examples with
|
||||
the help of the file `add_categories` (part of which is automatically
|
||||
generated).
|
||||
|
||||
After the refactor, this module would not work now with necessary updates in
|
||||
the code.
|
||||
"""
|
||||
|
||||
try:
|
||||
raw_input # Python 2
|
||||
except NameError:
|
||||
raw_input = input # Python 3
|
||||
|
||||
|
||||
fname = "README.md"
|
||||
snippets = []
|
||||
|
||||
with open(fname, 'r') as f:
|
||||
lines = iter(f.readlines())
|
||||
line = lines.next()
|
||||
|
||||
try:
|
||||
while True:
|
||||
# check if it's a H3
|
||||
if line.startswith("### "):
|
||||
title = line.replace("### ", "")
|
||||
description = []
|
||||
next_line = lines.next()
|
||||
|
||||
# store lines till an H4 (explanation) is encountered
|
||||
while not next_line.startswith("#### "):
|
||||
description.append(next_line)
|
||||
next_line = lines.next()
|
||||
|
||||
explanation = []
|
||||
# store lines again until --- or another H3 is encountered
|
||||
while not (next_line.startswith("---") or
|
||||
next_line.startswith("### ")):
|
||||
explanation.append(next_line)
|
||||
next_line = lines.next()
|
||||
|
||||
# Store the results finally
|
||||
snippets.append({
|
||||
"title": title,
|
||||
"description": '\n'.join(description),
|
||||
"explanation": '\n'.join(explanation)
|
||||
})
|
||||
|
||||
line = next_line
|
||||
|
||||
else:
|
||||
line = lines.next()
|
||||
|
||||
except StopIteration:
|
||||
snippets.append({
|
||||
"title": title,
|
||||
"description": '\n'.join(description),
|
||||
"explanation": '\n'.join(explanation)
|
||||
})
|
||||
|
||||
'''
|
||||
# Create a file
|
||||
file_content = "\n\n".join([snip["title"] for snip in snippets])
|
||||
|
||||
with open("add_categories", "w") as f:
|
||||
f.write(file_content)
|
||||
'''
|
||||
|
||||
snips_by_title = {}
|
||||
|
||||
with open("add_categories", "r") as f:
|
||||
content = iter(f.readlines())
|
||||
try:
|
||||
while True:
|
||||
title = content.next()
|
||||
cat = content.next().strip()
|
||||
is_new = True if cat[-1]=="*" else False
|
||||
cat = cat.replace('*','')
|
||||
snips_by_title[title] = {
|
||||
"category": cat,
|
||||
"is_new": is_new
|
||||
}
|
||||
content.next()
|
||||
except StopIteration:
|
||||
pass
|
||||
|
||||
for idx, snip in enumerate(snippets):
|
||||
snippets[idx]["category"] = snips_by_title[snip["title"]]["category"]
|
||||
snippets[idx]["is_new"] = snips_by_title[snip["title"]]["is_new"]
|
||||
|
||||
|
||||
snips_by_cat = {}
|
||||
for snip in snippets:
|
||||
cat = snip["category"]
|
||||
if not snips_by_cat.get(cat):
|
||||
snips_by_cat[cat] = []
|
||||
snips_by_cat[cat].append(snip)
|
||||
|
||||
snippet_template = """
|
||||
|
||||
### ▶ {title}{is_new}
|
||||
|
||||
{description}
|
||||
|
||||
{explanation}
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
category_template = """
|
||||
---
|
||||
|
||||
## {category}
|
||||
|
||||
{content}
|
||||
"""
|
||||
|
||||
result = ""
|
||||
|
||||
category_names = {
|
||||
"a": "Appearances are Deceptive!",
|
||||
"t": "The Hiddent treasures",
|
||||
"f": "Strain your Brain",
|
||||
"c": "Be careful of these",
|
||||
"m": "Miscallaneous"
|
||||
}
|
||||
|
||||
categories_in_order = ["a", "t", "f", "c", "m"]
|
||||
|
||||
for category in categories_in_order:
|
||||
snips = snips_by_cat[category]
|
||||
for i, snip in enumerate(snips):
|
||||
print(i, ":", snip["title"])
|
||||
content = ""
|
||||
for _ in snips:
|
||||
snip = snips[int(raw_input())]
|
||||
is_new = " *" if snip["is_new"] else ""
|
||||
content += snippet_template.format(title=snip["title"].strip(),
|
||||
is_new=is_new,
|
||||
description=snip["description"].strip().replace("\n\n", "\n"),
|
||||
explanation=snip["explanation"].strip().replace("\n\n", "\n"))
|
||||
result += category_template.format(category=category_names[category], content=content.replace("\n\n\n", "\n\n"))
|
||||
|
||||
with open("generated.md", "w") as f:
|
||||
f.write(result.replace("\n\n\n", "\n\n"))
|
||||
|
||||
print("Done!")
|
Loading…
Add table
Add a link
Reference in a new issue