[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"}
|
"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="""\
|
self.help="""\
|
||||||
</prefix>fractale [fractale] [nombre d'itérations]
|
</prefix>fractale info <fractale>
|
||||||
=> Génère une image fractale. (Si on met le nombre d'itérations, on doit mettre le nom de la 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:
|
```..: Toutes les fractales:
|
||||||
%s```"""%'\n'.join(['......: %s'%t for t in self.fractals.keys()])
|
%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):
|
def parse(self, inp):
|
||||||
retDic={"Success":False, "Message":"", "Result":()}
|
retDic={"Success":False, "Message":"", "Result":()}
|
||||||
#Parsing the fractal name and storing the corresponding dic into a variable
|
#Parsing the fractal name and storing the corresponding dic into a variable
|
||||||
@ -127,35 +156,3 @@ class MainClass():
|
|||||||
i+=1
|
i+=1
|
||||||
retDic.update({"Success":True, "Result":parsed_args})
|
retDic.update({"Success":True, "Result":parsed_args})
|
||||||
return(retDic)
|
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