def handle(self, *args, **options): has_expires = options.get('expires') is not None days = options.get('expires') or PERIMETER_DEFAULT_EXPIRY token = options.get('token') or AccessToken.random_token_value() expires_on = (now() + datetime.timedelta(days=days)).date() try: access_token = AccessToken.objects.create_access_token( token=token, expires_on=expires_on ) self.stdout.write( 'Created new access token: "{}" (expires {})'.format( access_token.token, access_token.expires_on ) ) except IntegrityError: access_token = AccessToken.objects.get(token=token) if has_expires: self.stdout.write("Extending existing token") access_token.expires_on = expires_on access_token.save() self.stdout.write("Token extended: {}".format(access_token)) else: self.stdout.write("Token exists already - please use --expires option to extend.")
def handle(self, *args, **options): days = options.get('expires') or PERIMETER_DEFAULT_EXPIRY token = options.get('token') or AccessToken.random_token_value() expires_on = (now() + datetime.timedelta(days=days)).date() token = AccessToken.objects.create_access_token( token=token, expires_on=expires_on ) print ( 'Created new access token: "%s" (expires %s)' % (token.token, token.expires_on) )
def test_generate_random_token(self): f = AccessToken._meta.get_field('token').max_length t1 = AccessToken.random_token_value() t2 = AccessToken.random_token_value() self.assertNotEqual(t1, t2) self.assertEqual(len(t1), f)