Changeset 6c081e0 in osmose-backend


Ignore:
Timestamp:
Jan 3, 2013 9:10:54 PM (7 years ago)
Author:
Jocelyn Jaubert <jocelyn.jaubert@…>
Branches:
master
Children:
3586d1a
Parents:
f1d460e
git-author:
Jocelyn Jaubert <jocelyn.jaubert@…> (01/01/2013 13:54:41)
git-committer:
Jocelyn Jaubert <jocelyn.jaubert@…> (03/01/2013 21:10:54)
Message:

Don't check database if we don't need osmosis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • osmose_run.py

    r253a4b9 r6c081e0  
    8787 
    8888def check_database(conf): 
    89     # check if database contains all necessary extensions 
    90     logger.sub().log("check database") 
    91     gisconn = psycopg2.connect(conf.db_string) 
    92     giscurs = gisconn.cursor() 
    93     for extension in ["hstore", "fuzzystrmatch"]: 
    94         giscurs.execute("""SELECT installed_version FROM pg_available_extensions 
    95                            WHERE name = %s""", 
    96                         [extension]) 
    97         if giscurs.rowcount != 1 or giscurs.fetchone()[0] == None: 
    98             logger.log(log_av_r+u"missing extension: "+extension+log_ap) 
    99             return False 
    100  
    101     for table in ["geometry_columns", "spatial_ref_sys"]: 
    102         giscurs.execute("""SELECT tablename FROM pg_tables 
    103                            WHERE tablename = %s""", 
    104                         [table]) 
    105         if giscurs.rowcount != 1: 
    106             logger.log(log_av_r+u"missing table: "+table+log_ap) 
    107             return False 
    108         for perm in ["select", "update", "delete"]: 
    109             giscurs.execute("SELECT has_table_privilege(%s, %s)", 
    110                             [table,  perm]) 
    111             if giscurs.fetchone()[0] == False: 
    112                 logger.log(log_av_r+u"missing permission %s on table: %s" % (perm, table)+log_ap) 
     89 
     90    if "osmosis" in conf.download: 
     91        # check if database contains all necessary extensions 
     92        logger.sub().log("check database") 
     93        gisconn = psycopg2.connect(conf.db_string) 
     94        giscurs = gisconn.cursor() 
     95        for extension in ["hstore", "fuzzystrmatch"]: 
     96            giscurs.execute("""SELECT installed_version FROM pg_available_extensions 
     97                               WHERE name = %s""", 
     98                            [extension]) 
     99            if giscurs.rowcount != 1 or giscurs.fetchone()[0] == None: 
     100                logger.log(log_av_r+u"missing extension: "+extension+log_ap) 
    113101                return False 
    114102 
    115     giscurs.close() 
    116     gisconn.close() 
     103        for table in ["geometry_columns", "spatial_ref_sys"]: 
     104            giscurs.execute("""SELECT tablename FROM pg_tables 
     105                               WHERE tablename = %s""", 
     106                            [table]) 
     107            if giscurs.rowcount != 1: 
     108                logger.log(log_av_r+u"missing table: "+table+log_ap) 
     109                return False 
     110            for perm in ["select", "update", "delete"]: 
     111                giscurs.execute("SELECT has_table_privilege(%s, %s)", 
     112                                [table,  perm]) 
     113                if giscurs.fetchone()[0] == False: 
     114                    logger.log(log_av_r+u"missing permission %s on table: %s" % (perm, table)+log_ap) 
     115                    return False 
     116 
     117        giscurs.close() 
     118        gisconn.close() 
     119 
    117120    return True 
    118  
    119121 
    120122def init_database(conf): 
Note: See TracChangeset for help on using the changeset viewer.