Skip to content

Commit

Permalink
[#2302] move some functions into system_info module
Browse files Browse the repository at this point in the history
  • Loading branch information
tobes committed Jul 27, 2012
1 parent 413d3c8 commit 066bb82
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 25 deletions.
27 changes: 3 additions & 24 deletions ckan/lib/app_globals.py
Expand Up @@ -5,27 +5,6 @@

import ckan.model as model

def get_system_info(key, default=None):
''' get data from system_info table '''
obj = model.Session.query(model.SystemInfo).filter_by(key=key).first()
if obj:
return obj.value
else:
return default

def set_system_info(key, value):
''' save data in the system_info table '''

obj = None
obj = model.Session.query(model.SystemInfo).filter_by(key=key).first()
if obj and obj.value == unicode(value):
return
if not obj:
obj = model.SystemInfo(key, value)
else:
obj.value = unicode(value)
model.Session.add(obj)
model.Session.commit()

class Globals(object):

Expand Down Expand Up @@ -58,14 +37,14 @@ def set_main_css(self, css_file):

def set_global(self, key, value):
''' helper function for getting value from database or config file '''
set_system_info(key, value)
model.set_system_info(key, value)
setattr(self, self.mappings[key], value)

def reset(self):
''' set updatable values from config '''

def grab(key, default):
value = get_system_info(key, config.get(key, default))
value = model.get_system_info(key, config.get(key, default))
setattr(self, self.mappings[key], value)

grab('ckan.site_title', '')
Expand All @@ -75,7 +54,7 @@ def grab(key, default):
grab('ckan.site_about', '')

# cusom styling
self.set_main_css(get_system_info('ckan.main_css',
self.set_main_css(model.get_system_info('ckan.main_css',
config.get('ckan.main_css','/base/css/main.css')))

self.site_url_nice = self.site_url.replace('http://','').replace('www.','')
Expand Down
2 changes: 2 additions & 0 deletions ckan/model/__init__.py
Expand Up @@ -150,6 +150,8 @@
from system_info import (
system_info_table,
SystemInfo,
get_system_info,
set_system_info,
)

import ckan.migration
Expand Down
26 changes: 25 additions & 1 deletion ckan/model/system_info.py
Expand Up @@ -4,7 +4,8 @@
import core
import domain_object

__all__ = ['system_info_revision_table', 'system_info_table', 'SystemInfo']
__all__ = ['system_info_revision_table', 'system_info_table', 'SystemInfo',
'get_system_info', 'set_system_info']

system_info_table = Table('system_info', meta.metadata,
Column('id', types.Integer() , primary_key=True, nullable=False),
Expand All @@ -22,3 +23,26 @@ def __init__(self, key, value):


meta.mapper(SystemInfo, system_info_table)


def get_system_info(key, default=None):
''' get data from system_info table '''
obj = meta.Session.query(SystemInfo).filter_by(key=key).first()
if obj:
return obj.value
else:
return default

def set_system_info(key, value):
''' save data in the system_info table '''

obj = None
obj = meta.Session.query(SystemInfo).filter_by(key=key).first()
if obj and obj.value == unicode(value):
return
if not obj:
obj = SystemInfo(key, value)
else:
obj.value = unicode(value)
meta.Session.add(obj)
meta.Session.commit()

0 comments on commit 066bb82

Please sign in to comment.