Merge pull request #2 from YunoHost/dev_beudbeud

Dev beudbeud
This commit is contained in:
Alexis Gavoty 2012-10-16 23:55:00 -07:00
commit b8e6578044
5 changed files with 90 additions and 35 deletions

35
appconftest/bash/yunohost Normal file → Executable file
View file

@ -1,33 +1,4 @@
# yuno-repo(1) completion
#!/bin/sh
_yunohost()
{
local argc cur prev opts
COMPREPLY=()
argc=${COMP_CWORD}
cur="${COMP_WORDS[argc]}"
prev="${COMP_WORDS[argc-1]}"
opts=$(yunohost2 -h | grep usage | awk -F"{" '{print $2}' | awk -F"}" '{print $1}' | tr ',' ' ')
if [[ $argc = 1 ]];
then
COMPREPLY=( $(compgen -W "$opts --help" -- $cur ) )
fi
if [[ "$prev" != "--help" ]];
then
if [[ $argc = 2 ]];
then
opts2=$(yunohost2 $prev -h | grep usage | awk -F"{" '{print $2}' | awk -F"}" '{print $1}' | tr ',' ' ')
COMPREPLY=( $(compgen -W "$opts2 --help" -- $cur ) )
elif [[ $argc = 3 ]];
then
COMPREPLY=( $(compgen -W "--help" $cur ) )
fi
else
COMPREPLY=()
fi
}
complete -F _yunohost yunohost
cd /usr/share/pyshared/yunohost/
python parse_args $@

View file

@ -0,0 +1,33 @@
# yunohost(1) completion
_yunohost_cli()
{
local argc cur prev opts
COMPREPLY=()
argc=${COMP_CWORD}
cur="${COMP_WORDS[argc]}"
prev="${COMP_WORDS[argc-1]}"
opts=$(yunohost -h | grep usage | awk -F"{" '{print $2}' | awk -F"}" '{print $1}' | tr ',' ' ')
if [[ $argc = 1 ]];
then
COMPREPLY=( $(compgen -W "$opts --help" -- $cur ) )
fi
if [[ "$prev" != "--help" ]];
then
if [[ $argc = 2 ]];
then
opts2=$(yunohost $prev -h | grep usage | awk -F"{" '{print $2}' | awk -F"}" '{print $1}' | tr ',' ' ')
COMPREPLY=( $(compgen -W "$opts2 --help" -- $cur ) )
elif [[ $argc = 3 ]];
then
COMPREPLY=( $(compgen -W "--help" $cur ) )
fi
else
COMPREPLY=()
fi
}
complete -F _yunohost_cli yunohost

View file

@ -33,7 +33,7 @@ gettext.install('YunoHost')
try:
from yunohost import YunoHostError, YunoHostLDAP, str_to_func, colorize, pretty_print_dict, display_error, connect_services, disconnect_services
except ImportError:
sys.stderr.write('Require YunoHost lib')
sys.stderr.write('Error: Yunohost CLI Require YunoHost lib\n')
sys.exit(1)
"""
@ -469,6 +469,11 @@ action_map = {
'full' : '--uptime',
'help' : _("Show Uptime"),
'action' : 'store_true',
},
'-p' : {
'full' : '--process',
'help' : _("Show Process Account"),
'action' : 'store_true',
},
}
},

View file

@ -2,7 +2,12 @@
import os
import sys
import ldap
try:
import ldap
except ImportError:
sys.stderr.write('Error: Yunohost CLI Require LDAP lib\n')
sys.stderr.write('apt-get install python-ldap\n')
sys.exit(1)
import ldap.modlist as modlist
import json
import re

View file

@ -3,7 +3,12 @@
import os
import sys
import subprocess
import psutil
try:
import psutil
except ImportError:
sys.stderr.write('Error: Yunohost CLI Require psutil\n')
sys.stderr.write('apt-get install python-psutil\n')
sys.exit(1)
from datetime import datetime, timedelta
#from psutil._compat import print_
@ -49,6 +54,40 @@ def uptime():
uptime = datetime.now() - datetime.fromtimestamp(psutil.BOOT_TIME)
print "Uptime: %s" % (str(uptime).split('.')[0])
def processcount():
processcount = {'total': 0, 'running': 0, 'sleeping': 0}
process_all = [proc for proc in psutil.process_iter()]
for proc in process_all:
try:
if not proc.is_running():
try:
process_all.remove(proc)
except Exception:
pass
except psutil.error.NoSuchProcess:
try:
self.process_all.remove(proc)
except Exception:
pass
else:
try:
processcount[str(proc.status)] += 1
except psutil.error.NoSuchProcess:
pass
except KeyError:
processcount[str(proc.status)] = 1
finally:
processcount['total'] += 1
try:
process.append(self.__get_process_stats__(proc))
except Exception:
pass
print '%s, %s running, %s sleeping' % (str(processcount['total']),
str(processcount['running']),
str(processcount['sleeping']))
def monitor_info(args):
if args['memory']:
check_memory()
@ -60,3 +99,5 @@ def monitor_info(args):
ifconfig()
elif args['uptime']:
uptime()
elif args['process']:
processcount()