[fractale module] checkpoint
This commit is contained in:
parent
3ac3e394b5
commit
785a2aae77
@ -30,14 +30,43 @@ class MainClass():
|
||||
"fractal_binary_tree":{"Type":"Lsystem", "Max":((5000,5000),2500,15), "Min":((0,0),0,1), "Default":"(0 0)", "Indication":"(origine) longueur iterations color bg stroke", "ParseData":"pfixi"}
|
||||
}
|
||||
self.help="""\
|
||||
</prefix>fractale [fractale] [nombre d'itérations]
|
||||
=> Génère une image fractale. (Si on met le nombre d'itérations, on doit mettre le nom de la fractale.)
|
||||
</prefix>fractale info <fractale>
|
||||
=> Affiche les informations relatives à la fractale spécifiée. (paramètres attendus, paramètres par défaut, type des arguments)
|
||||
|
||||
-> Valeurs possible pour [fractale]
|
||||
</prefix>fractale <fractale> <arguments>
|
||||
=> Génère une image fractale à partir des arguments fournis. Pour mettre la valeur par défaut pour un des arguments, le remplacer par le caractère *
|
||||
|
||||
</prefix>fractale <fractale>
|
||||
=> Génère une image fractale avec les paramètres par défaut.
|
||||
|
||||
-> Valeurs possible pour <fractale>
|
||||
```..: Toutes les fractales:
|
||||
%s```"""%'\n'.join(['......: %s'%t for t in self.fractals.keys()])
|
||||
|
||||
async def on_message(self, message):
|
||||
args=message.content.split(" ")
|
||||
if len(args)==1:
|
||||
await self.modules['help'][1].send_help(message.channel, self)
|
||||
elif len(args)==2:
|
||||
pass
|
||||
elif len(args)==3:
|
||||
if args[1]=="" and args[2] in self.fractals.keys():
|
||||
description="""\
|
||||
La fractale {nom} attend les arguments suivant :
|
||||
`{arguments}`
|
||||
avec le type suivant:
|
||||
`{type}`
|
||||
|
||||
Attention, les coordonnées des points doivent être entre parentheses et son considérés comme un unique argument.
|
||||
|
||||
Les arguments valent par défaut :
|
||||
`{defaut}`""".format(nom=args[2])
|
||||
await message.channel.send(embed=discord.Embed(title="[%s] - Infos : *%s*"%(self.name,args[2]), description=""))
|
||||
else:
|
||||
await self.modules['help'][1].send_help(message.channel, self)
|
||||
#parsed_data=self.parse(message.content[len("%sfractale "%self.prefix):])))
|
||||
async def send_fractal(self, message, command):
|
||||
return #TODO Coder la fonction
|
||||
def parse(self, inp):
|
||||
retDic={"Success":False, "Message":"", "Result":()}
|
||||
#Parsing the fractal name and storing the corresponding dic into a variable
|
||||
@ -127,35 +156,3 @@ class MainClass():
|
||||
i+=1
|
||||
retDic.update({"Success":True, "Result":parsed_args})
|
||||
return(retDic)
|
||||
|
||||
async def on_message(self, message):
|
||||
#await message.channel.send(str(self.parse(message.content[len("%sfractale "%self.prefix):])))
|
||||
#ħere
|
||||
args=message.content.split(" ")
|
||||
tmpstr="/tmp/%s.png"%random.randint(1,10000000)
|
||||
im=Image.new('RGB', (5000, 5000), (0, 0, 0))#here
|
||||
|
||||
fig = fractale.source.main.Figures(im=im)#here
|
||||
if len(args)==1 :
|
||||
await self.client.loop.run_in_executor(ThreadPoolExecutor(), fig.von_koch_curve_flake,*((2500, 2500), 2000, 5))
|
||||
elif args[1].lower()=="blanc_manger" :
|
||||
iterations=7
|
||||
if len(args)>2 and int(args[2])<=20:
|
||||
iterations=int(args[2])
|
||||
await self.client.loop.run_in_executor(ThreadPoolExecutor(), fig.blanc_manger,*((1000, 1000), (4000, 4000), iterations))
|
||||
elif args[1].lower()=="von_koch_curve_flake" :
|
||||
iterations=5
|
||||
if len(args)>2 and int(args[2])<=7:
|
||||
iterations=int(args[2])
|
||||
await self.client.loop.run_in_executor(ThreadPoolExecutor(), fig.von_koch_curve_flake,*((2500, 2500), 2000, iterations))
|
||||
elif args[1].lower()=="von_koch_curve" :
|
||||
iterations=5
|
||||
if len(args)>2 and int(args[2])<=7:
|
||||
iterations=int(args[2])
|
||||
await self.client.loop.run_in_executor(ThreadPoolExecutor(), fig.von_koch_curve,*((0, 2500), (5000,2500), iterations))
|
||||
else:
|
||||
await self.modules['help'][1].send_help(message.channel, self)
|
||||
return#here
|
||||
im.save(tmpstr)#here
|
||||
await message.channel.send(file=discord.File(tmpstr))
|
||||
os.remove(tmpstr)#here
|
||||
|
Loading…
Reference in New Issue
Block a user