This repository was archived by the owner on Jun 1, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathWebCameraServer.py
More file actions
44 lines (30 loc) · 1.34 KB
/
WebCameraServer.py
File metadata and controls
44 lines (30 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- coding: utf-8 -*-
import os
import time
import threading
import cherrypy
import config
import camera
import server
def removeOldImages(interval, folder, old):
for filename in os.listdir(folder):
image = os.path.join(folder, filename)
if os.path.isfile(image) and os.stat(image).st_mtime < time.time() - old:
os.unlink(image)
threading.Timer(interval, removeOldImages, [interval, folder, old]).start()
def storeImageByTimer(webCamera, interval, folder):
webCamera.saveImageToFile(time.strftime("%d-%m-%Y_%H-%M-%S"), folder)
threading.Timer(interval, storeImageByTimer, [webCamera, interval, folder]).start()
if __name__ == "__main__":
if not os.path.exists(config.camera['folder']):
os.makedirs(config.camera['folder'])
cameraInstance = camera.Camera(config.camera['index'], config.camera['width'], config.camera['height'])
if config.camera['interval'] > 0:
removeOldImages(config.cleaner['interval'], config.camera['folder'], config.cleaner['old'])
storeImageByTimer(cameraInstance, config.camera['interval'], config.camera['folder'])
cherrypy.config.update({
"engine.autoreload.on": False,
"server.socket_host": config.server['host'],
"server.socket_port": config.server['port']
})
cherrypy.quickstart(server.Server(cameraInstance, config.server['html'], config.camera['folder'], config.camera['count']), "/", config={"/": {}})