WCS_ROOT_DIR = '/var/lib/wcs'
WCS_DOMAIN_SUFFIX = '.auf.org'
-WCS_FORM_PREFIX = 'form-'
WCS_CACHE_DIR = '/var/tmp'
#--------------------------------------------------------------------------
+# variables globales
+#--------------------------------------------------------------------------
+
+pub = None
+
+#--------------------------------------------------------------------------
# fonctions de traitement
#--------------------------------------------------------------------------
if f.startswith(cache_filename):
os.unlink(os.path.join(WCS_CACHE_DIR, f))
+def set_wcs_publisher(domain):
+ global pub
+ if pub is None:
+ from wcs import publisher
+ pub = publisher.WcsPublisher.create_publisher()
+ pub.app_dir = os.path.join(pub.app_dir, domain)
+ pub.set_config()
+
def get_wcs_domains():
root = WCS_ROOT_DIR
suffix = WCS_DOMAIN_SUFFIX
return [x for x in l if os.path.isdir(os.path.join(root, x)) and x.endswith(suffix)]
def get_wcs_forms(domain):
- root = os.path.join(WCS_ROOT_DIR, domain)
- prefix = WCS_FORM_PREFIX
- try:
- l = os.listdir(root)
- except OSError:
- return None
- return [x[len(prefix):] for x in l if os.path.isdir(os.path.join(root, x)) and x.startswith(prefix)]
-
+ set_wcs_publisher(domain)
+ from wcs.formdef import FormDef
+ return [f.url_name for i,f in FormDef.items()]
def get_wcs_form_data(domain, form):
"""extraction des données du formulaire"""
logging.info('Début.')
- from wcs import publisher
+ set_wcs_publisher(domain)
from wcs.formdef import FormDef
from wcs.fields import TitleField, CommentField, TextField, \
StringField, ItemField, ItemsField, EmailField, \
DateField, FileField, BoolField, TableField
-
- pub = publisher.WcsPublisher.create_publisher()
- pub.app_dir = os.path.join(pub.app_dir, domain)
formdef = FormDef.get_by_urlname(form)
# nommage des champs de façon unique