Changeset 1889 for lliurex-mirror


Ignore:
Timestamp:
Jun 9, 2016, 2:20:19 PM (3 years ago)
Author:
kbut
Message:

update api

Location:
lliurex-mirror/trunk/fuentes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lliurex-mirror/trunk/fuentes/LliurexMirror

    r1881 r1889  
    1818get_percentage=anonymous
    1919restore=anonymous,adm,admins
     20enable_webserver_into_folder=adm,admins
     21stop_webserver=adm,admins
  • lliurex-mirror/trunk/fuentes/MirrorManager.py

    r1881 r1889  
    1515import json
    1616
    17 import SimpleHTTPServer
    18 import multiprocessing
     17import BaseHTTPServer
     18from SimpleHTTPServer import SimpleHTTPRequestHandler
     19from multiprocessing import Process
    1920
    2021class LliurexMirror:
     
    2728                self.configpath = os.path.join(self.defaultpath,'conf')
    2829                self.distro="llx16"
     30                self.httpd = None
    2931
    3032                self.tpl_env = Environment(loader=FileSystemLoader('/usr/share/n4d/templates/lliurex-mirror'))
     
    299301                f.close()
    300302        #def build_debmirror_config
     303       
     304        def enable_webserver_into_folder(self,path):
     305                port = 8000
     306                self.webserverprocess = Process(target=self._enable_webserver_into_folder,args=(port,path,))
     307                self.webserverprocess.start()
     308                return {'status':True,'msg':port}
     309
     310        def _enable_webserver_into_folder(self,port,path):
     311                try:
     312                        import os
     313                        iface = '127.0.0.1'
     314                        sock = (iface,port)
     315                        proto = "HTTP/1.0"
     316                        os.chdir(path)
     317                        handler = SimpleHTTPRequestHandler
     318                        handler.protocol_version = proto
     319                        self.httpd = BaseHTTPServer.HTTPServer(sock,handler)
     320                        self.httpd.serve_forever()
     321                except Exception, e:
     322                        print e
     323                        return None
     324
     325        def stop_webserver(self):
     326                self.webserverprocess.terminate()
     327                return {'status':True,'msg':'Server stopped'}
Note: See TracChangeset for help on using the changeset viewer.