Compare commits

..

3 commits

Author SHA1 Message Date
j
d82cd9b6a7 get current revno before switch 2020-05-30 14:00:08 +02:00
j
23c7a683a8 fix exception 2020-05-30 13:57:34 +02:00
j
fa5cf7cf60 make manage.py accessible via ctl, install pandoractl 2020-05-30 13:01:44 +02:00
4 changed files with 37 additions and 13 deletions

29
ctl
View file

@ -1,13 +1,17 @@
#!/bin/sh #!/bin/sh
SERVICES="pandora pandora-tasks pandora-encoding pandora-cron pandora-websocketd" SERVICES="pandora pandora-tasks pandora-encoding pandora-cron pandora-websocketd"
if [ -z "$1" ]; then if [ -z "$1" ]; then
echo "Usage: $0 (start|stop|restart|reload)" echo "Usage: $0 (start|stop|restart|reload|status)"
exit 1 exit 1
else else
action="$1" action="$1"
fi fi
self=`readlink "$0"`
if [ -z $self ]; then
self="$0"
fi
if [ "$action" = "init" ]; then if [ "$action" = "init" ]; then
cd "`dirname "$0"`" cd "`dirname "$self"`"
BASE=`pwd` BASE=`pwd`
SUDO="" SUDO=""
PANDORA_USER=`ls -l update.py | cut -f3 -d" "` PANDORA_USER=`ls -l update.py | cut -f3 -d" "`
@ -43,6 +47,18 @@ if [ "$action" = "init" ]; then
fi fi
exit 0 exit 0
fi fi
if [ "$action" = "manage" ]; then
cd "`dirname "$self"`"
if [ `whoami` != 'root' ]; then
manage="./pandora/manage.py"
else
manage="sudo -u pandora ./pandora/manage.py"
fi
shift
$manage $@
exit $?
fi
if [ `whoami` != 'root' ]; then if [ `whoami` != 'root' ]; then
echo you have to be root or run $0 with sudo echo you have to be root or run $0 with sudo
exit 1 exit 1
@ -74,6 +90,13 @@ if [ "$action" = "install" ]; then
fi fi
exit 0 exit 0
fi fi
if [ "status" = "$action" ]; then
export SYSTEMD_PAGER=
fi
for service in $SERVICES; do for service in $SERVICES; do
service $service $action if [ -x /bin/systemctl ]; then
/bin/systemctl $action $service
else
service $service $action
fi
done done

View file

@ -1,4 +1,4 @@
from django.contrib.gis.geoip2 import GeoIP2 from django.contrib.gis.geoip2 import GeoIP, GeoIP2Exception2
import ox import ox
@ -22,7 +22,7 @@ def get_location(ip):
else: else:
try: try:
location = g.city(ip) location = g.city(ip)
except django.contrib.gis.geoip2.GeoIP2Exception: except GeoIP2Exception:
try: try:
location = g.country(s.ip) location = g.country(s.ip)
except: except:

View file

@ -297,7 +297,7 @@ if __name__ == "__main__":
]: ]:
run_sql(sql) run_sql(sql)
run(join(base, 'pandora/manage.py'), 'migrate', 'system') run(join(base, 'pandora/manage.py'), 'migrate', 'system')
run(join(base, 'pandora/manage.py'), 'update_geoip')
else: else:
if len(sys.argv) == 1: if len(sys.argv) == 1:
branch = get_branch() branch = get_branch()
@ -316,13 +316,13 @@ if __name__ == "__main__":
if exists(path): if exists(path):
os.chdir(path) os.chdir(path)
current_branch = get_branch(path) current_branch = get_branch(path)
if current_branch != branch:
run('git', 'remote', 'set-branches', 'origin', '*')
run('git', 'fetch', 'origin')
run('git', 'checkout', branch)
revno = get_version(path)
if repo == 'pandora': if repo == 'pandora':
pandora_old_revno = revno pandora_old_revno = revno
if current_branch != branch:
run('git', 'remote', 'set-branches', 'origin', '*')
run('git', 'fetch', 'origin')
run('git', 'checkout', branch)
revno = get_version(path)
current += revno current += revno
url = repos[repo]['url'] url = repos[repo]['url']
print('Checking', repo) print('Checking', repo)

View file

@ -12,7 +12,7 @@ NGINX=${NGINX-local}
BRANCH=${BRANCH-stable} BRANCH=${BRANCH-stable}
# add a pandora user # add a pandora user
echo Installing pandora with user: $PANDORA echo Installing pandora with user: $PANDORA branch: $BRANCH
getent passwd $PANDORA > /dev/null 2>&1 || adduser --disabled-password --gecos "" $PANDORA getent passwd $PANDORA > /dev/null 2>&1 || adduser --disabled-password --gecos "" $PANDORA
# #
@ -197,8 +197,9 @@ fi
if [ "$NGINX" == "local" ]; then if [ "$NGINX" == "local" ]; then
cp "/srv/pandora/etc/nginx/pandora" "/etc/nginx/sites-available/pandora" cp "/srv/pandora/etc/nginx/pandora" "/etc/nginx/sites-available/pandora"
rm -f /etc/nginx/sites-enabled/default rm -f /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/pandora
ln -s ../sites-available/pandora /etc/nginx/sites-enabled/pandora ln -s ../sites-available/pandora /etc/nginx/sites-enabled/pandora
ln -s /srv/pandora/ctl /usr/local/bin/pandoractl
read -r -d '' GZIP <<EOI read -r -d '' GZIP <<EOI
gzip_static on;\\ gzip_static on;\\