| Total Complexity | 1 |
| Total Lines | 29 |
| Duplicated Lines | 0 % |
| 1 | #!/usr/bin/env python |
||
| 22 | class Check(Action): |
||
| 23 | def run(self): |
||
| 24 | """ |
||
| 25 | Ping the Duo Platorm. |
||
| 26 | |||
| 27 | Returns: An dict with info returned by Duo. |
||
| 28 | |||
| 29 | Raises: |
||
| 30 | RuntimeError: On Invalid keys. |
||
| 31 | """ |
||
| 32 | |||
| 33 | try: |
||
| 34 | ikey = self.config['auth']['ikey'] |
||
| 35 | skey = self.config['auth']['skey'] |
||
| 36 | host = self.config['auth']['host'] |
||
| 37 | except KeyError: |
||
| 38 | raise ValueError("Duo config not found in config.") |
||
| 39 | |||
| 40 | auth = duo_client.Auth(ikey=ikey, |
||
| 41 | skey=skey, |
||
| 42 | host=host) |
||
| 43 | |||
| 44 | try: |
||
| 45 | data = auth.check() |
||
| 46 | except RuntimeError, e: |
||
| 47 | print e |
||
| 48 | raise RuntimeError("Check failed! '%s'" % e) |
||
| 49 | else: |
||
| 50 | return data |
||
| 51 |