benbusby / piro

A Raspberry Pi security camera rover
MIT License
100 stars 17 forks source link

App assumes it is running from under the pi user directory #3

Closed ewegene closed 5 years ago

ewegene commented 5 years ago

I'm running raztot under a different user account (root instead of pi) and when I try to enable the video stream it fails.

I know I shouldn't be running it as root, but if I used a different user (e.g. ewegene) this problem still would have surfaced.

[2019-06-04 23:52:34,180] ERROR in app: Exception on /camera [POST]
Traceback (most recent call last):
  File "/root/raztot/venv/lib/python3.5/site-packages/flask/app.py", line 2311, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/raztot/venv/lib/python3.5/site-packages/flask/app.py", line 1834, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/raztot/venv/lib/python3.5/site-packages/flask/app.py", line 1737, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/root/raztot/venv/lib/python3.5/site-packages/flask/_compat.py", line 36, in reraise
    raise value
  File "/root/raztot/venv/lib/python3.5/site-packages/flask/app.py", line 1832, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/raztot/venv/lib/python3.5/site-packages/flask/app.py", line 1818, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/root/raztot/venv/lib/python3.5/site-packages/flask_login/utils.py", line 261, in decorated_view
    return func(*args, **kwargs)
  File "/root/raztot/app/routes.py", line 157, in camera
    subprocess.Popen(stream_proc.split())
  File "/root/raztot/venv/lib/python3.5/site-packages/gevent/subprocess.py", line 627, in __init__
    restore_signals, start_new_session)
  File "/root/raztot/venv/lib/python3.5/site-packages/gevent/subprocess.py", line 1505, in _execute_child
    raise child_exception
FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/raztot/utils/stream.sh'