You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.5 KiB
Python
74 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import json, random, textwrap
|
|
import yaml
|
|
from urllib.request import urlopen
|
|
|
|
|
|
# with open('terms.json', 'r') as f:
|
|
# terms = json.load(f)
|
|
# with open('terms.yaml', 'r') as f:
|
|
# terms = yaml.load(f)
|
|
|
|
f = urlopen("https://pad.xpub.nl/p/XPUB-promo-terms/export/txt")
|
|
terms = yaml.load(f)
|
|
with open("terms.yaml", "w") as f:
|
|
yaml.dump(terms, f)
|
|
with open("terms.json", "w") as f:
|
|
json.dump(terms, f, indent=2)
|
|
|
|
def make_pub():
|
|
actor = random.choice(terms['actor'])
|
|
terms['actor'].remove(actor)
|
|
action = random.choice(terms['action'])
|
|
terms['action'].remove(action)
|
|
prefix = ''
|
|
sort = random.choice(terms['sort'])
|
|
terms['sort'].remove(sort)
|
|
media = random.choice(terms['media'])
|
|
terms['media'].remove(media)
|
|
|
|
if random.randint(0,2) == 0:
|
|
prefix = random.choice(terms['prefix'])
|
|
terms['prefix'].remove(prefix)
|
|
prefix += '-'
|
|
|
|
return actor + ' ' + action + ' ' + prefix + sort + ' ' + media
|
|
|
|
def make_call():
|
|
text = 'Calling all '
|
|
for _ in range(20):
|
|
text += make_pub() + ', '
|
|
text = text[:-2]
|
|
text += '.'
|
|
|
|
return text
|
|
|
|
call = '''
|
|
|
|
///
|
|
____ ____ ____ ____
|
|
||X |||P |||U |||B ||
|
|
||__|||__|||__|||__||
|
|
|/__\|/__\|/__\|/__\|
|
|
|
|
Master of Arts in Fine Art and Design: Experimental Publishing
|
|
at the Piet Zwart Institute (Rotterdam, Netherlands
|
|
|
|
///
|
|
|
|
%s
|
|
|
|
///
|
|
|
|
Applications deadlines: March 7, 2023 (non-EU) and May 10, 2023 (EU)
|
|
Online open day: February 11, 2023
|
|
|
|
https://xpub.nl
|
|
|
|
///
|
|
''' % (textwrap.fill(make_call()))
|
|
|
|
print(call)
|
|
|