Closed nmathey closed 1 year ago
Excellent, je teste ça dans la journée ! Merci :grin:
Pas trop galère avec les merge ? J'en ai bavé aussi à certains points ^^
Après, vu qu'il faut mettre son token perso dans un fichier, peut-être serait-il mieux de laisser l'utilisateur l'ajouter dans sa config perso avec l'API en argument ? Voici un exemple :
realt = SourceRealT("MY_TOKEN")
portfolio = ...
assistant = Assistant(portfolio)
assistant.add_source(realt)
assistant.run(active_sources=["finary", "realt"])
Ca permettrait aux débutants de ne jamais toucher aux fichiers internes ^^
Pas trop galère avec les merge ? Si un peu :) mais on apprend en galérant
peut-être serait-il mieux de laisser l'utilisateur l'ajouter dans sa config perso avec l'API en argument Ah ben oui carrément. Tu peux modifier mon PR avant de merge?
Sinon il faudrait un système comme Finary pour demander le token au user dans la console, ce qui serait pas mal pour harmoniser la façon d'intéragir avec toutes les sources :) on peut commencer par cette solution simple et j'adapterai la structure de SourceBase
pour avoir la même structure pour toutes les sources :) si ça te va je peux faire le changement et ça me paraît bon ?
Ah ben oui carrément. Tu peux modifier mon PR avant de merge?
Ok je teste et m'en occupe bientôt
Oui dans un premier temps ca peut suffire je pense. Après en améliorations sur cette source, il faudrait:
assistant.add_source(SourceRealt("MY_TOKEN_1"))
assistant.add_source(SourceRealt("MY_TOKEN_2"))
assistant.run(active_sources=["finary", "realt"])
D'ailleurs pour faire ça il serait bien de pouvoir changer le nom de la source à la création pour pouvoir activer celle(s) qu'on veut plutôt que toutes obligatoirement :
assistant.add_source(SourceRealt("MY_TOKEN_1", name="realt1"))
assistant.add_source(SourceRealt("MY_TOKEN_2", name="realt2"))
assistant.run(active_sources=["finary", "realt1", "realt2"])
SourceBase
, tu devrais voir un fichier realt_cache.json
^^ Plus qu'à changer la durée de validité du cache pour cette source ! Bon c'est pas encore parfait mais j'ai pas le temps de faire mieux aujourd'hui, SourceRealT
demande des infos dans le contructeur alors que SourceFinary
demande les infos dans credentials.json
, dans les variables d'environnement ou directement dans la console. Il faudra trouver un système pour que ce soir pareil partout mais on n'est pas très loin :slightly_smiling_face:
Si tu me confirmes que tout est bon, je merge !
Hello,
J'ai rapidement testé avant d'aller au taff et je suis un peu perdu :) Tu mets bien cela dans l'assistant-config?
assistant.add_source(SourceRealt("MY_TOKEN_1")) assistant.add_source(SourceRealt("MY_TOKEN_2")) assistant.run(active_sources=["finary", "realt"])
Si oui, il me manque la référence à SourceRealt :/
Pour le cache j'ai vu effectivement mais j'ai du avoir un timeout ailleurs à un moment, peut être au niveau de blockscout. Je checkerai à l'usage.
Hello !
from finalynx.fetch.source_realt import SourceRealT
...
assistant = Assistant(portfolio)
assistant.add_source(SourceRealT("TOKEN"))
assistant.run(active_sources=["finary", "realt"])
Normalement ceci devrait passer (T majuscule) ?
On y est presque :)
TypeError: Assistant.add_source() missing 1 required positional argument:
'source'
Probablement assistant
avec a minuscule, car Assistant
est la classe elle-même alors qu'on utilise l'instance créée avec assistant = Assistant(...)
Si besoin tu peux envoyer ta config entière en pièce jointe et je regarde 🙂
oui je veux bien là parce que je suis un peu perdu :)
Extrait de mon assistant_config.py
qui fonctionne bien avec ta source RealT :
from finalynx.fetch.source_realt import SourceRealT
from finalynx import ...
bucket = ...
envelope_abc = ...
portfolio = Portfolio(...)
assistant = Assistant(
portfolio,
buckets,
envelopes,
ignore_orphans=False,
hide_root=True,
active_sources=["finary", "realt"],
)
assistant.add_source(SourceRealT("0x10df7DD932E655c01CC7A35eC23711B1d4153882"))
assistant.run()
Et j'appelle simplement :
python assistant_config.py
N'hésite pas à m'envoyer ton assistant_config.py
en pièce jointe ici ou par telegram :slightly_smiling_face:
Ca passe! :)
Je crois que l'erreur de GitHub Actions ne compte pas, je tente de merge dans main et hopefully ça va se résoudre tout seul :crossed_fingers:
Finalynx devient multi-sources grâce à toi, ça a le potentiel d'aller loin cette histoire :grin: Merci ! Pub possible dans le forum finary ^^
Je sais pas pourquoi GitHub ne veut pas créer de nouvelle version tout de suite, mais il le fera dès le prochain commit dans la branche main :slightly_smiling_face:
Top je l'attend avec impatience
@sebfar9172 @nmathey c'est dispo en v1.18 :smile: j'écris un petit tuto dans la release bientôt, un jour il faudra que je rédige un vrai guide dans la documentation :sweat_smile:
Description
Fetch RealT Gnosis wallet using RealT community maintained API
Actions
Usage
Make sure you put your own RealT Gnosis wallet address in 'fetch/source_finary.py': 'MyRealT_Wallet_Address' variable