Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
ed67317
Hardware update, user sockets
StanNotebaert Mar 6, 2017
c7b9415
Social update
StanNotebaert Mar 6, 2017
1acec30
HRI
StanNotebaert Mar 6, 2017
0b08146
social: @dekrook
StanNotebaert Mar 6, 2017
64fd13a
Updated dependency list
Mar 6, 2017
6152a1b
Refactor sound playback code, fixed playback on development OSX
Mar 6, 2017
4e759c0
Preferences tabs update
StanNotebaert Mar 8, 2017
36cafc8
Social update
StanNotebaert Mar 8, 2017
f307004
Merge branch 'Development' of git@github.com:OPSORO/OS.git into Devel…
StanNotebaert Mar 8, 2017
e1b9f7e
User Socket communication
StanNotebaert Mar 8, 2017
fb6dbfd
Style fixes
StanNotebaert Mar 8, 2017
cb615d8
Auto reload changes
StanNotebaert Mar 8, 2017
a9da6c1
Clean systembar comments
StanNotebaert Mar 8, 2017
130e55e
Add preference: Startup_app
StanNotebaert Mar 14, 2017
d6766b0
Icon format update
StanNotebaert Mar 14, 2017
147c73b
Social_response update, needs work!
StanNotebaert Mar 16, 2017
1da018a
Preferences/update restructuring
StanNotebaert Mar 16, 2017
f8c4218
Update update
StanNotebaert Mar 16, 2017
57591f9
Updater bugfix/test
StanNotebaert Mar 16, 2017
c2c06a7
Updater bugfix/test
StanNotebaert Mar 16, 2017
cd3bd41
Wrong page redirect
StanNotebaert Mar 16, 2017
7c380ff
Updater changes
StanNotebaert Mar 16, 2017
2ef09e4
Robot sleep/wake behaviour
StanNotebaert Mar 16, 2017
e2ac8a4
Preferences; Update: Add revision number
StanNotebaert Mar 16, 2017
0c62bd9
Updater bugfix
StanNotebaert Mar 16, 2017
d9be8e2
Preferences: Update alignment
StanNotebaert Mar 16, 2017
3b2b2e6
Preferences: layout
StanNotebaert Mar 17, 2017
5a540ca
Foundation6 update
StanNotebaert Mar 31, 2017
22f4280
Update app settings
StanNotebaert Mar 31, 2017
75e08bf
Preferences behaviour
StanNotebaert Mar 31, 2017
5f6f320
Add version number (js caching)
StanNotebaert Mar 31, 2017
a3bf7e2
Foundation6 update
StanNotebaert Mar 31, 2017
52f37e7
Small cleanup
StanNotebaert Mar 31, 2017
44fc826
Configurator app v2.0 initial commit
StanNotebaert Mar 31, 2017
bd83bc3
Fix login error
StanNotebaert Apr 3, 2017
97b1288
Rename app: Visual programming -> Blockly
StanNotebaert Apr 3, 2017
e4c2b70
Change circumplex icon
StanNotebaert Apr 3, 2017
746626b
css, js import changes
StanNotebaert Apr 3, 2017
1df57e8
Knockout slider binding update
StanNotebaert Apr 3, 2017
97778dc
App update: Configurator; reformatting, design
StanNotebaert Apr 3, 2017
792ed79
New app: Expression configurator
StanNotebaert Apr 3, 2017
c0dfd02
Javascript let error -> change to var
StanNotebaert Apr 4, 2017
9788fbb
Style update
StanNotebaert Apr 7, 2017
33f58e2
Systembar visual update
StanNotebaert Apr 7, 2017
bcb4636
Shutdown popup update
StanNotebaert Apr 7, 2017
156d70e
Configurators update, adding emojione font & svgs
StanNotebaert Apr 7, 2017
a0b3b99
Grid model javascript update
StanNotebaert Apr 7, 2017
1d0a825
App-layout implementation
StanNotebaert Apr 7, 2017
fc42113
Clean comments
StanNotebaert Apr 7, 2017
01226d7
Add app-search (by name & tags)
StanNotebaert Apr 7, 2017
f9081d4
Add online visualisation
StanNotebaert Apr 7, 2017
901d22e
Blockly sourcecode repositioning + blockly-app integration
StanNotebaert Apr 13, 2017
69f7166
Style update
StanNotebaert Apr 13, 2017
895f37f
Configurators bug fixes (browser compatibility)
StanNotebaert Apr 13, 2017
f9e7adf
Bugfix
StanNotebaert Apr 14, 2017
8f241e8
Add FontAwesome svg files
StanNotebaert Apr 14, 2017
84edc05
Update custom block icons
StanNotebaert Apr 14, 2017
3a053de
Public callable function integration
StanNotebaert Apr 14, 2017
cb1f483
Formatting
StanNotebaert Apr 14, 2017
dee9cee
New branch NMCT 01
StanNotebaert Apr 14, 2017
0c10702
Applet filter updates
RubenVerschuere Jun 9, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ OnoSW is the software framework for [OPSORO](http://www.opsoro.be/), to be used
5. Install Python development files, Avahi daemon, LuaJIT

```
sudo apt-get install python2.7-dev avahi-daemon libluajit-5.1-dev
sudo apt-get install python2.7-dev avahi-daemon libluajit-5.1-dev git
```

6. Install PIP
Expand All @@ -41,7 +41,7 @@ OnoSW is the software framework for [OPSORO](http://www.opsoro.be/), to be used
8. Install Python packages (flask, flask-login, pyyaml, pluginbase, sockjs-tornado, simplejson, lupa, numpy, scipy, spidev)

```
sudo pip install flask flask-login pyyaml pluginbase sockjs-tornado simplejson lupa numpy spidev
sudo pip install flask flask-login pyyaml pluginbase sockjs-tornado simplejson lupa numpy spidev gitpython flask-babel noise pyserial enum enum34 requests tweepy
sudo apt-get install -y python-smbus i2c-tools
sudo apt-get install -y python-scipy
```
Expand Down
61 changes: 0 additions & 61 deletions run
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,70 +3,9 @@
import os
import sys

import os.path
import shutil
import stat
import subprocess

from git import Git, Repo

basedir = os.path.dirname(os.path.realpath(__file__))

# insert opsoro src system path to enable calling opsoro classes
sys.path.insert(0, os.path.join(basedir, "src"))

# ----------------------------------------------------------------------
# UPDATER
# ----------------------------------------------------------------------
git_dir = os.path.abspath(basedir) + '/'
backup_dir = '/home/pi/OPSORO/backup/'

# Check if update is needed
if os.path.isfile(os.path.join(basedir, 'update.var')):
print('Updating...')
if os.path.exists(backup_dir):
# remove previous backup
try:
shutil.rmtree(backup_dir)
except Exception as e:
print('Remove backup failed: ', str(e))
pass

try:
shutil.copytree(basedir, backup_dir)
except Exception as e:
print('Backup copy failed: ', str(e))
pass

# Link git & update
try:
g = Git(git_dir)
g.fetch('--all')
g.reset('--hard', 'origin/' + g.branch().split()[-1])
# g.pull()
except Exception as e:
print('Git failed to update: ', str(e))
pass

# Set script executable for deamon
try:
st = os.stat(os.path.join(basedir, 'run'))
os.chmod(
os.path.join(basedir, 'run'), st.st_mode | stat.S_IXUSR |
stat.S_IXGRP | stat.S_IXOTH)
except Exception as e:
print('Exec state set failed: ', str(e))
pass

# Clear update var file
os.remove(os.path.join(basedir, 'update.var'))

# restart service
command = ['/usr/sbin/service', 'opsoro', 'restart']
#shell=FALSE for sudo to work.
subprocess.call(command, shell=False)

# ----------------------------------------------------------------------

import opsoro
opsoro.main()
Empty file modified scripts/opsoro
100644 → 100755
Empty file.
Empty file modified scripts/setup_opsoro
100644 → 100755
Empty file.
59 changes: 29 additions & 30 deletions src/opsoro/__init__.py
Original file line number Diff line number Diff line change
@@ -1,54 +1,53 @@
#!/usr/bin/env python

import signal
import sys
import datetime
import logging
import logging.handlers
import random
import os
import tornado.log
import datetime
import signal
import sys

# from opsoro.server import Server
import tornado.log

from opsoro.console_msg import *
from opsoro.server import Server


# Handle SIGTERM for graceful shutdown of daemon
def sigterm_handler(_signo, _stack_frame):
print "SIGTERM received... Goodbye!"
sys.exit(0)
print "SIGTERM received... Goodbye!"
sys.exit(0)


try:
LOG_FILE_DIR = '../../../log/'
if not os.path.exists(LOG_FILE_DIR):
os.makedirs(LOG_FILE_DIR)

# Setup logging
LOG_FILENAME = LOG_FILE_DIR + str(datetime.date.today()) + ".log"
LOG_LEVEL = logging.DEBUG

tornado.log.enable_pretty_logging()
logger = logging.getLogger()
logger.setLevel(LOG_LEVEL)
handler = logging.handlers.TimedRotatingFileHandler(
LOG_FILENAME, when="midnight", backupCount=3)
formatter = logging.Formatter("%(asctime)s %(levelname)-8s %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
LOG_FILE_DIR = '../../../log/'
if not os.path.exists(LOG_FILE_DIR):
os.makedirs(LOG_FILE_DIR)

# Setup logging
LOG_FILENAME = LOG_FILE_DIR + str(datetime.date.today()) + ".log"
LOG_LEVEL = logging.DEBUG

tornado.log.enable_pretty_logging()
logger = logging.getLogger()
logger.setLevel(LOG_LEVEL)
handler = logging.handlers.TimedRotatingFileHandler(
LOG_FILENAME, when="midnight", backupCount=3)
formatter = logging.Formatter("%(asctime)s %(levelname)-8s %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)

except Exception as e:
print_error('Unable to log')
print_error('Unable to log')


def main():
signal.signal(signal.SIGTERM, sigterm_handler)
print_info("OPSORO OS started...")
app = Server()
app.run()
signal.signal(signal.SIGTERM, sigterm_handler)
print_info("OPSORO OS started...")
app = Server()
app.run()


# Initialization
if __name__ == "__main__":
main()
main()
Loading