add comments to post.py
This commit is contained in:
parent
11b831b5b2
commit
98a344c878
1 changed files with 11 additions and 0 deletions
11
post.py
11
post.py
|
@ -34,6 +34,8 @@ client = Mastodon(
|
||||||
data = json.load(open('data.json', 'r'))
|
data = json.load(open('data.json', 'r'))
|
||||||
|
|
||||||
def get_object(kind):
|
def get_object(kind):
|
||||||
|
# fill in the given thought with the necessary objects.
|
||||||
|
# for example, if the kind is "rides", generate a string like "Ride Name 1".
|
||||||
num = random.choice([1, 1, 1, 1, 1, 2, 2, 3])
|
num = random.choice([1, 1, 1, 1, 1, 2, 2, 3])
|
||||||
if kind == "rides":
|
if kind == "rides":
|
||||||
return "{} {}".format(random.choice(data['objects']['thrilling-rides'] + data['objects']['gentle-rides']), num)
|
return "{} {}".format(random.choice(data['objects']['thrilling-rides'] + data['objects']['gentle-rides']), num)
|
||||||
|
@ -48,6 +50,7 @@ def get_object(kind):
|
||||||
elif kind == "stalls":
|
elif kind == "stalls":
|
||||||
return "{} {}".format(random.choice(list(data['objects']['stalls']['edible'].keys()) + list(data['objects']['stalls']['other'].keys())), num)
|
return "{} {}".format(random.choice(list(data['objects']['stalls']['edible'].keys()) + list(data['objects']['stalls']['other'].keys())), num)
|
||||||
elif kind == "item-stall":
|
elif kind == "item-stall":
|
||||||
|
# return an item and the stall it comes from.
|
||||||
stalls_weighted = []
|
stalls_weighted = []
|
||||||
for key in data['objects']['stalls']:
|
for key in data['objects']['stalls']:
|
||||||
for i in range(len(data['objects']['stalls'][key])):
|
for i in range(len(data['objects']['stalls'][key])):
|
||||||
|
@ -57,6 +60,9 @@ def get_object(kind):
|
||||||
stall = "{} {}".format(choice[1], num)
|
stall = "{} {}".format(choice[1], num)
|
||||||
return (choice[0], stall)
|
return (choice[0], stall)
|
||||||
|
|
||||||
|
# generate a list of thought types for a weighted random choice.
|
||||||
|
# for example, if there were two plain thoughts and one rides thought, the list would be:
|
||||||
|
# ['plain', 'plain', 'rides']
|
||||||
thoughts_weighted = []
|
thoughts_weighted = []
|
||||||
for key in data['thoughts']:
|
for key in data['thoughts']:
|
||||||
for i in range(len(data['thoughts'][key])):
|
for i in range(len(data['thoughts'][key])):
|
||||||
|
@ -64,14 +70,19 @@ for key in data['thoughts']:
|
||||||
|
|
||||||
thought_type = random.choice(thoughts_weighted)
|
thought_type = random.choice(thoughts_weighted)
|
||||||
|
|
||||||
|
# choose a random thought of the type chosen above
|
||||||
thought = random.choice(data['thoughts'][thought_type])
|
thought = random.choice(data['thoughts'][thought_type])
|
||||||
|
|
||||||
if thought_type == "plain":
|
if thought_type == "plain":
|
||||||
|
# we don't need to fill in anything here.
|
||||||
pass
|
pass
|
||||||
elif thought_type == "item-stall":
|
elif thought_type == "item-stall":
|
||||||
|
# special case, get_object returns a tuple to fill in two blanks
|
||||||
objects = get_object(thought_type)
|
objects = get_object(thought_type)
|
||||||
thought = thought.format(objects[0], objects[1])
|
thought = thought.format(objects[0], objects[1])
|
||||||
else:
|
else:
|
||||||
|
# just fill in the one blank
|
||||||
thought = thought.format(get_object(thought_type))
|
thought = thought.format(get_object(thought_type))
|
||||||
|
|
||||||
|
# post the thought
|
||||||
client.status_post(thought)
|
client.status_post(thought)
|
||||||
|
|
Loading…
Reference in a new issue