do not chach site.json

This commit is contained in:
j 2011-01-14 14:32:48 +00:00
commit b73c86e5bf
7 changed files with 24 additions and 41 deletions

View file

@ -34,7 +34,7 @@ def parseCondition(condition):
else:
exclude = False
key_type = models.site_config['keys'].get(k, {'type':'string'}).get('type')
key_type = models.site_config()['keys'].get(k, {'type':'string'}).get('type')
key_type = {
'title': 'string',
'person': 'string',

View file

@ -304,7 +304,7 @@ class Item(models.Model):
}
item.update(self.external_data)
item.update(self.data)
for key in site_config['keys'].keys():
for key in site_config()['keys'].keys():
if key not in item:
value = self.get(key)
#also get values from sort table, i.e. numberof values
@ -416,7 +416,7 @@ class Item(models.Model):
'modified',
'popularity'
)
for key in site_config['sortKeys']:
for key in site_config()['sortKeys']:
name = key['id']
source = key.get('key', name)
field_type = key['type']
@ -763,11 +763,12 @@ class Item(models.Model):
Item.facet_keys = []
Item.person_keys = []
for key in site_config['findKeys']:
config = site_config()
for key in config['findKeys']:
name = key['id']
if key.get('autocomplete', False) and not site_config['keys'].get(name, {'type': None})['type'] == 'title':
if key.get('autocomplete', False) and not config['keys'].get(name, {'type': None})['type'] == 'title':
Item.facet_keys.append(name)
if name in site_config['keys'] and site_config['keys'][name]['type'] == 'person':
if name in config['keys'] and config['keys'][name]['type'] == 'person':
Item.person_keys.append(name)
class ItemFind(models.Model):
@ -792,7 +793,7 @@ attrs = {
'__module__': 'item.models',
'item': models.OneToOneField('Item', related_name='sort', primary_key=True),
}
for key in site_config['sortKeys']:
for key in config['sortKeys']:
name = key['id']
name = {'id': 'itemId'}.get(name, name)
field_type = key['type']

View file

@ -238,7 +238,8 @@ def autocomplete(request):
data['range'] = [0, 10]
op = data.get('operator', '')
if models.site_config['keys'][data['key']]['type'] == 'title':
site_config = models.site_config()
if site_config['keys'][data['key']]['type'] == 'title':
qs = models.Item.objects.filter(available=True) #does this need more limiting? user etc
if data['value']:
if op == '':
@ -247,7 +248,7 @@ def autocomplete(request):
qs = qs.filter(find__key=data['key'], find__value__istartswith=data['value'])
elif op == '$':
qs = qs.filter(find__key=data['key'], find__value__iendswith=data['value'])
qs = qs.order_by('-sort__%s'%models.site_config['keys'][data['key']]['autocompleteSortKey'])
qs = qs.order_by('-sort__%s'%site_config['keys'][data['key']]['autocompleteSortKey'])
qs = qs[data['range'][0]:data['range'][1]]
response = json_response({})
response['data']['items'] = [i.get(data['key']) for i in qs]