Changeset 7804


Ignore:
Timestamp:
Jul 24, 2018, 1:59:16 PM (15 months ago)
Author:
mabarracus
Message:
 
Location:
lliurex-quota/trunk/fuentes
Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • lliurex-quota/trunk/fuentes/debian/control

    r7802 r7804  
    99Package: lliurex-quota
    1010Architecture: all
    11 Depends: ${shlibs:Depends}, ${misc:Depends}, quota
     11Depends: ${shlibs:Depends}, ${misc:Depends}, n4d, quota
    1212Description: Quota manager for Lliurex systems
    1313 Lliurex-quota manages quota system when classroom model is used.
  • lliurex-quota/trunk/fuentes/debian/postinst

    r7803 r7804  
    2121case "$1" in
    2222    configure)
     23        systemctl restart n4d
    2324    ;;
    2425
  • lliurex-quota/trunk/fuentes/lliurex-quota.install/usr/bin/lliurex-quota

    r7802 r7804  
    66
    77import argparse
     8import xmlrpclib
    89
    910if __name__=='__main__':
    10     #if os.get_uid() != 0:
    11     #    print('Need admin privileges to run this tool')
    12     #    sys.exit(1)
    1311    parser = argparse.ArgumentParser(description='Quota administration tool')
     12    parser.add_argument('-u','--user',metavar='USER',nargs=1,help='User with classroom admin privileges')
     13    parser.add_argument('-p','--password',metavar='USER',nargs=1,help='Password from user with classroom admin privileges')
     14
    1415    g = parser.add_mutually_exclusive_group(required=True)
    1516
     
    3132
    3233    args = parser.parse_args()
    33     print args
     34    if ( args.user and not args.password ) or ( args.password and not args.user ):
     35        print('Need user and password parameters')
     36        sys.exit(1)
     37    c = None
     38    if args.user and args.password:
     39        c = xmlrpclib.ServerProxy('https://localhost:9779')
     40        auth = (args.user,args.password)
     41        module = 'QuotaManager'
     42    else:
     43        qm = QuotaManager()
    3444
    35     qm = QuotaManager()
    3645    if args.configure_serversync:
    37         print(qm.configure_serversync())
     46        if c:
     47            arguments=(auth,module)
     48            print(c.configure_serversync(*arguments))
     49        else:
     50            print(qm.configure_serversync())
     51
    3852    if args.deconfigure_serversync:
    39         print(qm.deconfigure_serversync())
     53        if c:
     54            arguments(auth,module)
     55            print(c.deconfigure_serversync(*arguments))
     56        else:
     57            print(qm.deconfigure_serversync())
     58
    4059    if args.get_status:
    41         print(qm.get_status())
     60        if c:
     61            arguments(auth,module)
     62            print(c.get_status(*arguments))
     63        else:
     64            print(qm.get_status())
     65
    4266    if args.set_enabled:
    43         print(qm.set_status(True))
     67        if c:
     68            arguments(auth,module,True)
     69            print(c.set_status(*arguments))
     70        else:
     71            print(qm.set_status(True))
     72
    4473    if args.set_disabled:
    45         print(qm.set_status(False))
     74        if c:
     75            arguments(auth,module,False)
     76            print(c.set_status(*arguments))
     77        else:
     78            print(qm.set_status(False))
     79
    4680    if args.start_quotas:
    47         print(qm.start_quotas())
     81        if c:
     82            arguments=(auth,module)
     83            print(c.start_quotas(*arguments))
     84        else:
     85            print(qm.start_quotas())
     86
    4887    if args.stop_quotas:
    49         print(qm.stop_quotas())
     88        if c:
     89            arguments=(auth,module)
     90            print(c.stop_quotas(*arguments))
     91        else:
     92            print(qm.stop_quotas())
     93
    5094    if args.show_configured_quotas:
    51         print(qm.get_quotafile())
     95        if c:
     96            arguments=(auth,module)
     97            print(c.get_quotafile(*arguments))
     98        else:
     99            print(qm.get_quotafile())
     100
    52101    if args.get_current_quotas:
    53         print(qm.get_quotas())
     102        if c:
     103            arguments=(auth,module)
     104            print(c.get_quotas(*arguments))
     105        else:
     106            print(qm.get_quotas())
     107
    54108    if args.set_quota:
    55109        user,quota,margin = args.set_quota
    56         print(qm.set_userquota(user,quota,margin))
     110        if c:
     111            arguments=(auth,module,user,quota,margin)
     112            print(c.set_userquota(*arguments))
     113        else:
     114            print(qm.set_userquota(user,quota,margin))
     115
    57116    if args.get_quota:
    58117        user = args.get_quota
    59         print(qm.get_userquota(user))
     118        if c:
     119            arguments=(auth,module,user)
     120            print(c.get_userquota(*arguments))
     121        else:
     122            print(qm.get_userquota(user))
Note: See TracChangeset for help on using the changeset viewer.