From 59c52c76426d43a48493705a091b774b49bd668d Mon Sep 17 00:00:00 2001 From: gfawcett Date: Sun, 3 Apr 2011 01:52:54 +0000 Subject: [PATCH] cleanup for uwindsor, CAMPUS_INFO_SERVICE = 'http://fawcett.medialab.uwindsor.ca/campus-info/' git-svn-id: svn://svn.open-ils.org/ILS-Contrib/servres/trunk@1313 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- conifer/integration/clew-memberships | 53 ------------------------ conifer/integration/clew-sections-for-site | 37 ----------------- conifer/integration/evergreen_site.py | 2 +- conifer/integration/uwindsor_campus_info.py | 6 +-- conifer/{integration => plumbing}/memoization.py | 0 5 files changed, 3 insertions(+), 95 deletions(-) delete mode 100644 conifer/integration/clew-memberships delete mode 100755 conifer/integration/clew-sections-for-site rename conifer/{integration => plumbing}/memoization.py (100%) diff --git a/conifer/integration/clew-memberships b/conifer/integration/clew-memberships deleted file mode 100644 index ead1dcf..0000000 --- a/conifer/integration/clew-memberships +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/local/bin/python-oracle-cgi-wrapper -# -*- mode: python -*- - -import os -import cgi -import cx_Oracle -import simplejson -import re - -CONN_STRING = '***/***@********' -conn = cx_Oracle.connect(CONN_STRING) -#import cgitb; cgitb.enable(display=True) - -def memberships(uid): - q = ("select realm_id, role_name, S.title, DBMS_LOB.SUBSTR(P.value, 64) " - "from sakai_realm_rl_gr G " - "left join sakai_realm R on G.realm_key = R.realm_key " - "left join sakai_user_id_map M on G.user_id=M.user_id " - "left join sakai_site S on S.site_id = substr(R.realm_id, 7) " - "left join sakai_realm_role RR on G.role_key = RR.role_key " - "left join sakai_site_property P on P.site_id = S.site_id and P.name='term_code' " - "where eid=:1 and active=1 " - "and regexp_like(realm_id, '^/site/.{36}$') ") - cursor = conn.cursor() - cursor.execute(q, (uid,)) - coursepat = re.compile(r'^(\d\d-\d\d-\d\d\d)') - for realm, role, title, term in cursor.fetchall(): - site = realm[6:] - tmp = coursepat.match(title) - course = tmp and tmp.group(1) or None - # term: convert 'W08+S08' to ['2008W', '2008S'] - try: - terms = ['20%s%s' % (t[-2:], t[0]) for t in term.split('+')] - except: - terms = [] - yield {'site': site, 'role': role, 'title': title, 'terms': terms, - 'course': course} - -form = cgi.FieldStorage() -uid = form['uid'].value -compress = 'deflate' in os.environ.get('HTTP_ACCEPT_ENCODING', '') -resp = simplejson.dumps(list(memberships(uid))) - -print 'Status: 200 OK' -print 'Content-Type: application/json' -if compress: - import zlib - print 'Content-Encoding: deflate' - print - print zlib.compress(resp) -else: - print - print resp diff --git a/conifer/integration/clew-sections-for-site b/conifer/integration/clew-sections-for-site deleted file mode 100755 index 8fb6d05..0000000 --- a/conifer/integration/clew-sections-for-site +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/local/bin/python-oracle-cgi-wrapper -# -*- mode: python -*- - -import os -import cx_Oracle -import simplejson as json -import cgitb -#cgitb.enable(display=True) - -CONN_STRING = '***/***@********' -conn = cx_Oracle.connect(CONN_STRING) - -try: - siteid = os.environ['PATH_INFO'][1:] - assert len(siteid) == 36, 'malformed site id' - - cursor = conn.cursor() - query = """ - select provider_id from sakai_realm - where realm_id like '/site/' || :1 - """ - cursor.execute(query, (siteid,)) - try: - provider_id = cursor.fetchone()[0] or '' - except: - raise Exception('site ID not found.') - - providers = provider_id.split('+') - output = json.dumps({'status':'ok', 'siteid': siteid, 'providers': providers}) -except Exception, e: - output = {'status':'error', 'error': str(e)} - -print 'Status: 200 OK' -print 'Content-Type: application/json' -print -print output -conn.close() diff --git a/conifer/integration/evergreen_site.py b/conifer/integration/evergreen_site.py index c891980..e23415a 100644 --- a/conifer/integration/evergreen_site.py +++ b/conifer/integration/evergreen_site.py @@ -4,8 +4,8 @@ from conifer.libsystems import marcxml as M from conifer.libsystems.evergreen import item_status as I from conifer.libsystems.evergreen.support import initialize, E1 from conifer.libsystems.z3950 import pyz3950_search as PZ +from conifer.plumbing.memoization import memoize from django.conf import settings -from memoization import memoize from xml.etree import ElementTree as ET import re import time diff --git a/conifer/integration/uwindsor_campus_info.py b/conifer/integration/uwindsor_campus_info.py index 2e1ed87..9a85ce2 100644 --- a/conifer/integration/uwindsor_campus_info.py +++ b/conifer/integration/uwindsor_campus_info.py @@ -1,14 +1,12 @@ from urllib2 import * from django.utils import simplejson - -CAMPUS_INFO_SERVICE = 'http://fawcett.medialab.uwindsor.ca/campus-info/' +from django.conf import settings def call(name, *args): - url = '%s%s?%s' % (CAMPUS_INFO_SERVICE, name, simplejson.dumps(args)) + url = '%s%s?%s' % (settings.CAMPUS_INFO_SERVICE, name, simplejson.dumps(args)) raw = urlopen(url).read() return simplejson.loads(raw) if __name__ == '__main__': print call('methods_supported') print call('person_lookup', 'fawcett') - print call('membership_ids', 'dunn15') diff --git a/conifer/integration/memoization.py b/conifer/plumbing/memoization.py similarity index 100% rename from conifer/integration/memoization.py rename to conifer/plumbing/memoization.py -- 2.11.0