source: lliurex-mirror/trunk/fuentes/LliurexMirror.py @ 1907

Last change on this file since 1907 was 1907, checked in by kbut, 4 years ago

wip

File size: 3.5 KB
Line 
1import xmlrpclib as x
2import sys
3import getpass
4from clint import arguments
5from clint.textui import puts, indent, colored
6import os
7
8class LliurexMirror(object):
9        """docstring for LliurexMirror"""
10        def __init__(self,credentials="",host="localhost"):
11                super(LliurexMirror, self).__init__()
12                self.ip = host
13                self.credentials = credentials
14
15        def setCname(self):
16                result = self.client.set_cname(self.credentials,"MirrorManager")
17                print result['msg']
18                sys.exit( 0 if result['status'] else 1 )
19
20        def runDebmirror(self,distro):
21                result = self.client.set_cname(self.credentials,"MirrorManager",distro)
22                print result['msg']
23                sys.exit( 0 if result['status'] else 1 )
24
25        def isAlive(self):
26                result = self.client.is_alive(self,credentials,"MirrorManager")
27                print "True" if result['status'] else "False"
28                sys.exit( 0 if result['status'] else 1 )
29
30        def getMirrorArchitecture(self,distro):
31                result = self.client.get_mirror_architecture(self,credentials,"MirrorManager",distro)
32                print str(result['msg'])
33                sys.exit( 0 if result['status'] else 1 )
34
35        def setMirrorArchitecture(self,distro,archs):
36                result = self.client.set_mirror_architecture(self,credentials,"MirrorManager",distro,archs)
37                print str(result['msg'])
38                sys.exit( 0 if result['status'] else 1 )
39
40        def getMirrorOrig(self,distro):
41                result = self.client.get_mirror_orig(self,credentials,"MirrorManager",distro)
42                print str(result['msg'])
43                sys.exit( 0 if result['status'] else 1 )
44
45        def setMirrorOrig(self,distro,url):
46                result = self.client.set_mirror_orig(self,credentials,"MirrorManager",distro,url)
47                print str(result['msg'])
48                sys.exit( 0 if result['status'] else 1 )
49
50        def getChecksumValidation(self,distro):
51                result = self.client.get_checksum_validation(self,credentials,"MirrorManager",distro)
52                print str(result['msg'])
53                sys.exit( 0 if result['status'] else 1 )
54
55        def setChecksumValidation(self,distro,value):
56                check = 0 if not value else 1
57                result = self.client.set_checksum_validation(self,credentials,"MirrorManager",distro,check)
58                print str(result['msg'])
59                sys.exit( 0 if result['status'] else 1 )
60
61        def getPercentage(self):
62                result = self.client.get_percentage(self,credentials,"MirrorManager")
63                print str(result['msg'])
64                sys.exit( 0 if result['status'] else 1 )
65
66        def enableWebserverForPath(self,path):
67                result = self.client.enable_webserver_into_folder(self,credentials,"MirrorManager",path)
68                print str(result['msg'])
69                sys.exit( 0 if result['status'] else 1 )
70
71        def stopWebserver(self):
72                result = self.client.stop_webserver(self,credentials,"MirrorManager")
73                print str(result['msg'])
74                sys.exit( 0 if result['status'] else 1 )
75
76def usage():
77        puts("Usage")
78        with indent(4):
79                puts("lliurex-mirror [ACTION]")
80        sys.exit(1)
81
82if __name__ == '__main__':
83        args = arguments.Args()
84        host = ""
85        credentials = ""
86        if args.contains(["-h","--help"]):
87                usage()
88       
89        if args.contains(["-H","--host"]):
90                #host = args.value_after()
91                host = args.value_after("-H") if args.value_after("-H") != None else args.value_after("--host")
92                if host == None:
93                        usage()
94        if not args.contains(["-k","--key","-u","--user","-p","--password","-P","--intpassword"]):
95                if os.access('/etc/n4d/key',os.R_OK):
96                        f = open("/etc/n4d/key","r")
97                        credentials = f.readlines()[0].strip()
98
99        if args.contains(["-P","--intpassword"]) and args.contains(["-u","--user"]):
100                for i in range(0,3):
101                        password = getpass.getpass("Password: ")
102                        repassword = getpass.getpass("Confirm password: ")
103                        if password == repassword:
104                                break
105                        else:
106                                puts(colored.red("Password does not matches"))
107
108
Note: See TracBrowser for help on using the repository browser.