Overview
| Comment: | resolved stmt work, added sample sql database structure |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | master | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
09a01deb527790a565f90e805813cead |
| User & Date: | c.kworr@d4daf22a-8aaf-11de-a64d-234b64dd91b4 on 2009-10-01 12:56:56.000 |
| Other Links: | branch diff | manifest | tags |
Context
|
2009-10-02
| ||
| 06:09 | minor function corrections check-in: fce4cc7368 user: c.kworr@d4daf22a-8aaf-11de-a64d-234b64dd91b4 tags: master, trunk | |
|
2009-10-01
| ||
| 12:56 | resolved stmt work, added sample sql database structure check-in: 09a01deb52 user: c.kworr@d4daf22a-8aaf-11de-a64d-234b64dd91b4 tags: master, trunk | |
|
2009-09-11
| ||
| 12:47 | version for python3.1: + config file support; + command line options. Needs testing probably... check-in: 7d2bc0649d user: c.kworr@d4daf22a-8aaf-11de-a64d-234b64dd91b4 tags: master, trunk | |
Changes
Added database.sql version [8d08e9c8ac].
Modified squid-tagger
from [db4ecab697]
to [de210bb16a].
| ︙ | ︙ | |||
19 20 21 22 23 24 25 | self._syslog.syslog(self._syslog.LOG_INFO, message) def notice(self, message): if not self._silent: self._syslog.syslog(self._syslog.LOG_NOTICE, message) class tagDB: | | > < < < < | < < | < < | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
self._syslog.syslog(self._syslog.LOG_INFO, message)
def notice(self, message):
if not self._silent:
self._syslog.syslog(self._syslog.LOG_NOTICE, message)
class tagDB:
__slots__ = frozenset(['_prepared', '_check_stmt', '_db'])
def __init__(self):
self._prepared = set()
self._db = False
self._check_stmt = self._curs().prepare("select redirect_url from site_rule where site <@ tripdomain($1) and netmask >> $2::text::inet limit 1")
def _curs(self):
if not self._db:
config.section('database')
self._db = postgresql.open(
'pq://{0}:{1}@{2}/{3}'.format(
config['user'],
config['password'],
config['host'],
config['database'],
) )
return(self._db)
def check(self, ip_address, site):
result = self._check_stmt(site, ip_address)
if len(result) > 0:
return result[0]
else:
return None
class CheckerThread:
__slots__ = frozenset(['_db', '_lock', '_lock_queue', '_log', '_queue'])
|
| ︙ | ︙ |