Esempio n. 1
0
def process_kmz(kmz_filename):
    with zipfile.ZipFile(kmz_filename) as kmz_zip:
        init_db_pool(settings.DATABASE)
        for fname in kmz_zip.namelist():
            if fname[-4:] == ".kml":
                process_kml(kmz_zip.read(fname))
        kmz_zip.close()
Esempio n. 2
0
def process_file(filename):
    with open(filename) as f:
        init_db_pool(settings.DATABASE)
        line = f.readline()
        while line:
            data = {}
            advdm_msgs = []
            while True:
                _, extra_msg, advdm_msg = line.split('\\')
                info = extract_extra_info(extra_msg)
                data.update(info)
                advdm_msgs.append(advdm_msg)
                if 'total' in info and info['index'] < info['total']:
                    line = f.readline()
                else:
                    break

            data['ais_pos'] = extract_advdm_info(advdm_msgs, 1)
            if len(advdm_msgs) > 1:
                data['ais_ship'] = extract_advdm_info(advdm_msgs, 5)

            with get_conn() as conn:
                try:
                    save_vessel_data(conn, data)
                except Exception, e:
                    conn.rollback()
                    raise

            # next
            line = f.readline()
Esempio n. 3
0
from gevent.pywsgi import WSGIServer

import settings
from urls import urlpatterns
from B2SUtils.common import parse_form_params
from B2SUtils.db_utils import init_db_pool
from B2SUtils.log import addBugzScoutHandler
from B2SUtils.log import setupLogging

setupLogging(settings.LOG_CONFIG_FILE)
if settings.PRODUCTION:
    addBugzScoutHandler(**settings.BUGZ_SCOUT_REPORT)

# falcon.API instances are callable WSGI apps
app = api = falcon.API(before=[parse_form_params])

# Resources are represented by long-lived class instances
for url, res in urlpatterns.iteritems():
    api.add_route(url, res())

init_db_pool(settings.DATABASE)

if __name__ == '__main__':
    import logging
    logging.info('finance server start on port %s' % settings.SERVER_PORT)

    listener = ('0.0.0.0', settings.SERVER_PORT)
    print "finance server is running at http://%s:%s" % listener
    httpd = WSGIServer(listener, app)
    httpd.serve_forever()
Esempio n. 4
0
def init_db():
    init_db_pool(settings.DATABASE)
Esempio n. 5
0
 def setUp(self):
     init_db_pool(settings.DATABASE)
     self.b = UsersBrowser()