mirror of
https://github.com/wassname/Clover-Edition.git
synced 2026-08-21 11:09:32 +08:00
38 lines
1.2 KiB
Python
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))
|