commit
6a7b58e54e
1 changed files with 6 additions and 11 deletions
17
bin/srv.py
17
bin/srv.py
|
|
@ -1,22 +1,17 @@
|
||||||
import sys
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import requests
|
import requests
|
||||||
import socket
|
import socket
|
||||||
import subprocess
|
|
||||||
import time
|
import time
|
||||||
import traceback
|
|
||||||
|
|
||||||
import geoip2.database
|
import geoip2.database
|
||||||
from geopy.geocoders import Nominatim
|
from geopy.geocoders import Nominatim
|
||||||
import jinja2
|
import jinja2
|
||||||
|
|
||||||
import gevent
|
|
||||||
from gevent.wsgi import WSGIServer
|
from gevent.wsgi import WSGIServer
|
||||||
from gevent.queue import Queue
|
|
||||||
from gevent.monkey import patch_all
|
from gevent.monkey import patch_all
|
||||||
from gevent.subprocess import Popen, PIPE, STDOUT
|
from gevent.subprocess import Popen, PIPE
|
||||||
patch_all()
|
patch_all()
|
||||||
|
|
||||||
from flask import Flask, request, render_template, send_from_directory
|
from flask import Flask, request, render_template, send_from_directory
|
||||||
|
|
@ -237,11 +232,11 @@ def wttr(location = None):
|
||||||
orig_location = location
|
orig_location = location
|
||||||
|
|
||||||
if request.headers.getlist("X-Forwarded-For"):
|
if request.headers.getlist("X-Forwarded-For"):
|
||||||
ip = request.headers.getlist("X-Forwarded-For")[0]
|
ip = request.headers.getlist("X-Forwarded-For")[0]
|
||||||
if ip.startswith('::ffff:'):
|
if ip.startswith('::ffff:'):
|
||||||
ip = ip[7:]
|
ip = ip[7:]
|
||||||
else:
|
else:
|
||||||
ip = request.remote_addr
|
ip = request.remote_addr
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if location is None:
|
if location is None:
|
||||||
|
|
@ -256,7 +251,7 @@ def wttr(location = None):
|
||||||
log("%s %s %s %s" % (ip, user_agent, orig_location, location))
|
log("%s %s %s %s" % (ip, user_agent, orig_location, location))
|
||||||
return get_wetter( location, ip, html=html_output )
|
return get_wetter( location, ip, html=html_output )
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
logging.error("Exception has occured", exc_info=1)
|
logging.error("Exception has occurred", exc_info=1)
|
||||||
return str(e).rstrip()+"\n"
|
return str(e).rstrip()+"\n"
|
||||||
|
|
||||||
server = WSGIServer(("", 8002), app)
|
server = WSGIServer(("", 8002), app)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue