#!/opt/thinlinc/libexec/python3
# -*- mode: python; coding: utf-8; indent-tabs-mode: nil; indent-offset: 4 -*-
#
# Copyright 2022 Linn Mattsson for Cendio AB
# For more information, see http://www.cendio.com
if 82 - 82: Iii1i
import locale
import sys
import os
import pkgutil
import importlib
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
import thinlinc . tlctl
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 = { }
 if 11 - 11: i1I1 - O000o / O0OO0OooooOo * ii % Ii * i1
 ii1iI1I = pkgutil . iter_modules ( thinlinc . tlctl . __path__ )
 for i11IiIIiii1II in ii1iI1I :
  O0o000ooO = i11IiIIiii1II [ 1 ]
  ooo0O = importlib . import_module ( 'thinlinc.tlctl.' + O0o000ooO )
  OoOoo0o [ O0o000ooO ] = ooo0O
  if 18 - 18: ooOOO / i1 - iI1iII1I1I1i . O000o
 return OoOoo0o
 if 13 - 13: O000o
 if 2 - 2: i1
def IIiIiiIiI ( ) :
 try :
  locale . setlocale ( locale . LC_ALL , "" )
 except locale . Error as OO0000 :
  thinlinc . tlctl . print_warning ( "can't set the locale (%s); make sure $LC_* and $LANG are correct\n" %
 OO0000 )
  if 92 - 92: I1I / I1I + O0OO0OooooOo . O000o
  if 8 - 8: Ii + O0OO0OooooOo . i1I1 - I1Ii1I1 % i1I1 . i1i1i1111I
  if 24 - 24: ii
  if 9 - 9: ooo000 / O0OO0OooooOo . O0OO0OooooOo / Ii % i1i1i1111I % Ooo0Ooo
  if 85 - 85: i1I1 % ooOOO + i1iiIII111 / ooOOO / ooo000
 if hasattr ( sys . stdout , "reconfigure" ) :
  if 17 - 17: oOo0O00 * i1iiIII111 - Iii1i . ii - Oo % i1i1i1111I
  sys . stdout . reconfigure ( errors = "replace" )
  sys . stderr . reconfigure ( errors = "replace" )
 else :
  if 69 - 69: ooOOO % OooOoo
  if 45 - 45: i1
  if 48 - 48: iI1iII1I1I1i / oOo0O00 % ii
  sys . stdout . flush ( )
  sys . stdout = open ( sys . stdout . fileno ( ) , "w" , errors = "replace" ,
 closefd = False )
  sys . stderr . flush ( )
  sys . stderr = open ( sys . stderr . fileno ( ) , "w" , errors = "replace" ,
 closefd = False )
  if 84 - 84: O000o . Oo + ooOOO / Oo . O000o
 I1i1Ii = OptionParser ( version = TL_VERSION ,
 usage = "%prog [options] <command>" ,
 description = "Control a ThinLinc cluster" )
 if 88 - 88: i1I1 + ooOOO - i1i1i1111I . Ooo0Ooo * Ii + Iii1i
 I1i1Ii . add_option ( "--color" ,
 help = "colorize output (default: auto)" ,
 dest = "color" ,
 metavar = "WHEN" ,
 default = "auto" ,
 choices = [ "auto" , "always" , "never" ] ,
 completer = lambda * oOo0O00O0ooo : CompletionResult ( completions = [ "auto" , "always" , "never" ] , nospace = False )
 )
 if 89 - 89: Ii % IiIIii11Ii
 IiII = iI111iiIi11i ( )
 for I1i1i , ooo0O in IiII . items ( ) :
  I1i1Ii . add_subcommand ( I1i1i , ooo0O . option_parser ( ) )
  if 46 - 46: ii - OooOoo * I1Ii1I1 / Ooo0Ooo / Iii1i
 ( I11iIi1i , oOo0O00O0ooo ) = I1i1Ii . parse_args ( )
 if 49 - 49: IIiIIiIi11I1
 I1i1i = oOo0O00O0ooo [ 0 ]
 if 29 - 29: IiIIii11Ii - oOo0O00
 IiII [ I1i1i ] . execute ( I11iIi1i , oOo0O00O0ooo [ 1 : ] , I1i1Ii . get_subparser ( I1i1i ) )
 if 30 - 30: I1I . ooo000
if __name__ == "__main__" :
 try :
  IIiIiiIiI ( )
 except KeyboardInterrupt :
  sys . exit ( 1 )
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
