#!/opt/thinlinc/libexec/python3
# -*-mode: python; coding: utf-8 -*-
#
# Copyright 2008-2014 Cendio AB.
# For more information, see http://www.cendio.com
if 82 - 82: Iii1i
import sys
import os
import locale
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
from thinlinc import sso
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
from thinlinc . optionparse import OptionParser
from thinlinc . optcomplete import CompletionResult
from thinlinc . version import TL_VERSION
if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1
def iI111iiIi11i ( ) :
 OoOoo0o = OptionParser ( version = TL_VERSION ,
 usage = "%prog [options]" )
 if 11 - 11: i1I1 - O000o / O0OO0OooooOo * ii % Ii * i1
 OoOoo0o . add_option ( "-c" , "--check" ,
 action = "store_true" ,
 default = False ,
 dest = "check_only" ,
 help = "returns 0 if token passphrase is available, instead of fetch" )
 if 9 - 9: i1iiIII111
 OoOoo0o . add_option ( "-r" , "--remove" ,
 action = "store_true" ,
 default = False ,
 dest = "remove" ,
 help = "removes the password after fetch or check" )
 if 10 - 10: ooOOO / IIiIIiIi11I1 * O000o / O0OO0OooooOo / O0OO0OooooOo
 OoOoo0o . set_argument_completer ( lambda * oOooo0OOO : CompletionResult ( completions = [ ] , nospace = False ) )
 if 53 - 53: Ii * Oo * ooo000 . i1iiIII111
 return OoOoo0o
 if 14 - 14: I1I / O000o
 if 58 - 58: I1Ii1I1 - ooOOO
def oO0 ( ) :
 if os . isatty ( 1 ) :
  print ( "Error: This tool is not meant to be used by itself." , file = sys . stderr )
  print ( file = sys . stderr )
  print ( "       You should use it on of the following forms:" , file = sys . stderr )
  print ( file = sys . stderr )
  print ( "           tl-sso-token-passphrase | application --read-passwd-on-stdin" , file = sys . stderr )
  print ( "           application --password-prog tl-sso-token-passphrase" , file = sys . stderr )
  return False
  if 13 - 13: O000o
 iiIII = sso . get_token_passphrase ( )
 if iiIII is None :
  return False
  if 28 - 28: I1Ii1I1 . Iii1i - ooOOO - iI1iII1I1I1i
 print ( iiIII )
 return True
 if 37 - 37: O000o * IIiIIiIi11I1 * I1I / oOo0O00
def i11i1Iii1I1 ( ) :
 locale . setlocale ( locale . LC_ALL , "" )
 if 68 - 68: i1I1 . i1i1i1111I
 OoOoo0o = iI111iiIi11i ( )
 if 24 - 24: ii
 ( ii1i11i1 , oOooo0OOO ) = OoOoo0o . parse_args ( )
 if 11 - 11: O0OO0OooooOo * i1I1 % ooOOO + I1I
 oOo00O = ii1i11i1 . check_only
 OoO = ii1i11i1 . remove
 if 80 - 80: i1i1i1111I . I1I % ooOOO % IiIIii11Ii / i1i1i1111I
 if oOooo0OOO :
  OoOoo0o . error ( "program takes no input argument" )
  if 32 - 32: I1Ii1I1 + O000o - oOo0O00
 IiiIii11iII1 = 0
 if oOo00O :
  if not sso . has_token_passphrase ( ) :
   IiiIii11iII1 = 1
 else :
  if not oO0 ( ) :
   IiiIii11iII1 = 1
   if 27 - 27: I1I + ooOOO * IIiIIiIi11I1 % Ii + Ooo0Ooo . ooOOO
 if IiiIii11iII1 == 0 and OoO :
  if not sso . remove_token_passphrase ( ) :
   IiiIii11iII1 = 2
   if 6 - 6: i1iiIII111
 sys . exit ( IiiIii11iII1 )
 if 99 - 99: ooOOO * I1Ii1I1
if __name__ == "__main__" :
 i11i1Iii1I1 ( )
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
