Files
2019-12-18 13:41:54 -05:00

38 lines
1.2 KiB
Python

from urllib import request
import re
import os
from pathlib import Path
#os.mkdir(Path('prompts', 'pastebin'))
fnamesSoFar={}
def filename(s):
fname=re.sub('-$','',re.sub('^-', '', re.sub('[^a-zA-Z0-9_-]+', '-', s)))
n=1
fname2=fname
while fname2 in fnamesSoFar:
n+=1
fname2=fname+'-'+str(n)
fnamesSoFar[fname2]=True
return fname2
paste=request.urlopen('https://pastebin.com/raw/KD4yN2Gc').read().decode('utf-8')
paste=re.sub('=====+', '|', paste)
paste=re.sub('\r','',paste)
paste=re.sub('\n\s*\n\s*', '\n\n', paste)
sections=re.findall(r'[^|]+', paste)
for sect in sections[2:][:-1]:
category=re.search(r'\*\*\*([^\*]+)\*\*\*', sect).group(1)
category=re.sub('.[pP]rompts?$', '', category)
category=filename(category)
os.mkdir(Path('prompts', category))
print(category)
for story in [x for x in filter(None, sect.split('\n\n'))][1:]:
title=re.search(r'^\(([^\)]+)', story)
if bool(title):
title=title.group(1)
else:
title=story[:30]
title=filename(title)+'.txt'
with Path('prompts', category, title).open('w', encoding='UTF-8') as f:
f.write(re.sub(r'^\([^\)]+\)\n', '', story))