aboutsummaryrefslogtreecommitdiff
path: root/cbc/server.py
blob: ee451aca3e33cb17eb825e16899267c99984e0fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
import http.server
import socketserver


class FileServer(object):
    def __init__(self, port, root=os.path.abspath(os.curdir), run=False):
        if isinstance(port, str):
            port = int(port)

        self.root = root
        self.port = port
        self.handler = http.server.SimpleHTTPRequestHandler

        if run:
            self.run()

    def run(self):
        os.chdir(self.root)
        httpd = socketserver.TCPServer(("", self.port), self.handler)
        print("{0} active on port {1}".format(self.__class__.__name__, self.port))
        httpd.handle_request()