Skip to content

Instantly share code, notes, and snippets.

@erik-sn
Last active March 29, 2017 02:52
Show Gist options
  • Save erik-sn/195df1bfd2bfea8a959aefab9f6624e5 to your computer and use it in GitHub Desktop.
Save erik-sn/195df1bfd2bfea8a959aefab9f6624e5 to your computer and use it in GitHub Desktop.
"""
api.core.serializers
serializer readonlyfield
AdaptiveTitForTat
"arguments": [
{
"parameter": "rate",
"default": 0.5
}
]
"""
from inspect import signature
# other fields
def get_arguments(self, strategy):
arguments = []
for name, param in signature(strategy.__init__).parameters.items():
arguments.append({'parameter': name, 'default': param.default})
return [a for a in arguments if a['parameter'] != 'self']
# POST data from client
from axelrod.strategies.titfortat import AdaptiveTitForTat
post_values = {'rate': 0.7} # de-serialize this from javascript POST
strategy = AdaptiveTitForTat(**post_values) # pass as kwargs to __init__
rate = strategy.rate # 0.7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment