From c1e2ce22d6ff295be58eb36135294f85db20c541 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Fri, 29 Jan 2016 12:39:27 +0100 Subject: [PATCH] Go back to using direct psycopg2 for docs loading This removes the dependency on django from docload, facilitating incremental upgrades of the infrastructure. This now requires a new docload.ini file in the tools/docs directory, with a section "db" and a setting "dsn". --- tools/docs/.gitignore | 1 + tools/docs/docload.py | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 tools/docs/.gitignore diff --git a/tools/docs/.gitignore b/tools/docs/.gitignore new file mode 100644 index 00000000..41202451 --- /dev/null +++ b/tools/docs/.gitignore @@ -0,0 +1 @@ +docload.ini diff --git a/tools/docs/docload.py b/tools/docs/docload.py index 7254bbd3..faf1892e 100755 --- a/tools/docs/docload.py +++ b/tools/docs/docload.py @@ -8,15 +8,9 @@ import tarfile import re import tidy from optparse import OptionParser +from ConfigParser import ConfigParser - -# Set up for accessing django -from django.core.management import setup_environ -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '../../pgweb')) -import settings -setup_environ(settings) - -from django.db import connection, transaction +import psycopg2 pagecount = 0 quiet = False @@ -68,12 +62,17 @@ quiet = options.quiet ver = sys.argv[1] tarfilename = sys.argv[2] +config = ConfigParser() +config.read(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'docload.ini')) + if not os.path.isfile(tarfilename): print "File %s not found" % tarfilename sys.exit(1) tf = tarfile.open(tarfilename) +connection = psycopg2.connect(config.get('db', 'dsn')) + curs = connection.cursor() # Verify that the version exists, and what we're loading curs.execute("SELECT current FROM core_version WHERE tree=%(v)s", {'v': ver}) @@ -118,7 +117,7 @@ curs.execute("SELECT varnish_purge('^/docs/' || %(v)s || '/')", {'v': ver}) if iscurrent: curs.execute("SELECT varnish_purge('^/docs/current/')") -transaction.commit_unless_managed() +connection.commit() connection.close() if not quiet: print "Done (%i pages)." % pagecount