[med-svn] [gnumed-server] 05/09: Imported Upstream version 21.6
Andreas Tille
tille at debian.org
Fri May 27 13:05:59 UTC 2016
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository gnumed-server.
commit 4cbe5d63324276683bbfd81c40e1ef9cf38e1549
Author: Andreas Tille <tille at debian.org>
Date: Fri May 27 13:39:29 2016 +0200
Imported Upstream version 21.6
---
server/bootstrap/fixup_db-v22.conf | 91 -------
server/bootstrap/update_db-v21_v22.conf | 276 ---------------------
server/doc/schema/gnumed-entire_schema.html | 2 +-
server/pycommon/gmI18N.py | 103 +++++---
server/pycommon/gmTools.py | 7 +-
.../v20-v21/dynamic/v21-release_notes-dynamic.sql | 29 +--
6 files changed, 94 insertions(+), 414 deletions(-)
diff --git a/server/bootstrap/fixup_db-v22.conf b/server/bootstrap/fixup_db-v22.conf
deleted file mode 100644
index 5d2995e..0000000
--- a/server/bootstrap/fixup_db-v22.conf
+++ /dev/null
@@ -1,91 +0,0 @@
-# GNUmed database system bootstrapping config file
-#-------------------------------------------------
-# license: GPL v2 or later
-# author: Karsten Hilbert at gmx.net
-
-#----------------------------------
-[installation]
-interactive = yes
-
-keep temp files = no
-
-description = $description$
-This will update an existing GNUmed database.
-
-It does so by applying all fixup SQL scripts
-appropriate to the version of the database.
-
-$description$
-
-bundles = $bundles$
-v22-fixups
-$bundles$
-
-#----------------------------------
-[bundle v22-fixups]
-database alias = gnumed_v22
-minimum postgresql version = 9.2
-schema base directory = ../sql/v21-v22/fixups/
-schema = $schema$
-../dynamic/v22-release_notes-dynamic.sql
-$schema$
-
-#----------------------------------
-[database gnumed_v22]
-name = gnumed_v22
-override name by = GM_CORE_DB
-drop target database = 0
-use existing target database = 1
-target version = v22
-transfer users = 0
-
-template database = template1
-server alias = local host
-audit disable = 1
-audit trail parent table = audit.audit_trail
-audit trail table prefix = log_
-audit fields table = audit.audit_fields
-schema base directory = ../sql/v21-v22/
-schema = $schema$
-$schema$
-
-superuser schema = $superuser schema$
-$superuser schema$
-
-upgrade plausibility checks = $upgrade plausibility checks$
-$upgrade plausibility checks$
-
-script base directory = ../sql/v21-v22/python/
-data import scripts = $data import scripts$
-$data import scripts$
-
-#----------------------------------
-[server local host]
-name =
-port = 5432
-template database = template1
-super user alias = postgres
-schema base directory = ../sql/v21-v22/
-schema = $schema$
-$schema$
-
-#----------------------------------
-[user GNUmed owner]
-name = gm-dbo
-password =
-
-[user postgres]
-name = postgres
-#password =
-
-#----------------------------------
-# these really shouldn't be changed
-#----------------------------------
-[GnuMed defaults]
-
-database owner alias = GNUmed owner
-
-groups = $groups$
-$groups$
-
-#----------------------------------
diff --git a/server/bootstrap/update_db-v21_v22.conf b/server/bootstrap/update_db-v21_v22.conf
deleted file mode 100644
index ba1460c..0000000
--- a/server/bootstrap/update_db-v21_v22.conf
+++ /dev/null
@@ -1,276 +0,0 @@
-# GNUmed database system bootstrapping config file
-#-------------------------------------------------
-# license: GPL v2 or later
-# author: Karsten Hilbert at gmx.net
-
-#----------------------------------
-[revision control]
-file = /home/ncq/Projekte/cvs2git/vcs-mirror/gnumed/gnumed/server/bootstrap/update_db-v21_v22.conf
-version = 1.0
-
-#----------------------------------
-[installation]
-interactive = yes
-
-keep temp files = no
-
-description = $description$
-This will update an existing GNUmed version 20
-database to the version 21 schema. It does not do
-any harm to the data contained within.
-
-The existing database will be cloned first. The copy is
-then modified. The original database remains unchanged.
-$description$
-
-
-bundles = $bundles$
-v21_fixups-pre_v22
-v21-v22-static
-v21-v22-dynamic
-$bundles$
-
-
-#----------------------------------
-[bundle v21_fixups-pre_v22]
-database alias = gnumed_v22
-minimum postgresql version = 9.2
-schema base directory = ../sql/v20-v21/fixups/
-schema = $schema$
-v21-dem-view_grants-fixup.sql
-../dynamic/v21-release_notes-dynamic.sql
-v21-ref-auto_hint-tetanus_STIKO.sql
-$schema$
-
-#----------------------------------
-[bundle v21-v22-static]
-database alias = gnumed_v22
-minimum postgresql version = 9.2
-schema base directory = ../sql/v21-v22/static/
-schema = $schema$
-v22-ref-chemical_substance-static.sql
-v22-ref-lnk_substance2loinc-static.sql
-$schema$
-
-#----------------------------------
-[bundle v21-v22-dynamic]
-database alias = gnumed_v22
-minimum postgresql version = 9.2
-schema base directory = ../sql/v21-v22/dynamic/
-schema = $schema$
-$schema$
-
-#----------------------------------
-[bundle v22-fixups]
-database alias = gnumed_v22
-minimum postgresql version = 9.2
-schema base directory = ../sql/v21-v22/fixups/
-schema = $schema$
-$schema$
-
-#----------------------------------
-[bundle v22-test_data]
-database alias = gnumed_v22
-minimum postgresql version = 9.2
-schema base directory = ../sql/test-data/
-schema = $schema$
-$schema$
-
-#----------------------------------
-[database gnumed_v22]
-name = gnumed_v22
-override name by = GM_CORE_DB
-drop target database = 1
-target version = devel
-#target version = v22
-transfer users = 1
-template database = gnumed_v21
-template version = v21
-server alias = local host
-audit disable = 0
-audit trail parent table = audit.audit_trail
-audit trail table prefix = log_
-audit fields table = audit.audit_fields
-schema base directory = ../sql/v21-v22/
-schema = $schema$
-$schema$
-
-superuser schema = $superuser schema$
-$superuser schema$
-
-script base directory = ../sql/v21-v22/python/
-data import scripts = $data import scripts$
-$data import scripts$
-
-
-
-
-# line 1: old database
-# line 2: new database
-upgrade plausibility checks = $upgrade plausibility checks$
-identities::::select count(1) from dem.identity
- select count(1) from dem.identity -- new
-names::::select count(1) from dem.names
- select count(1) from dem.names -- new
-v_all_persons::::select count(1) from dem.v_persons
- select count(1) from dem.v_all_persons -- new
-v_active_persons::::select count(1) from dem.v_active_persons
- select count(1) from dem.v_active_persons -- new
-staff::::select count(1) from dem.staff -- old
- select count(1) from dem.v_staff where not person_is_deleted -- new
-v_staff::::select count(1) from dem.v_staff
- select count(1) from dem.v_staff -- new
-addresses::::select count(1) from dem.address
- select count(1) from dem.address -- new
-episodes::::select count(1) from clin.episode where not summary ilike '%[substance use]%'
- select count(1) from clin.episode where not summary ilike '%[substance use]%'
-denormalized episodes::::select count(1) from clin.v_pat_episodes where not summary ilike '%[substance use]%'
- select count(1) from clin.v_pat_episodes where not summary ilike '%[substance use]%'
-encounters::::select count(1) from clin.encounter
- select count(1) from clin.v_pat_encounters
-issues::::select count(1) from clin.health_issue
- select count(1) from clin.health_issue
-issues view::::select count(1) from clin.v_health_issues
- select count(1) from clin.v_health_issues
-procedures::::select count(1) from clin.procedure
- select count(1) from clin.procedure
-documents::::select count(1) from blobs.doc_med
- select count(1) from blobs.doc_med
-document pages::::select count(1) from blobs.doc_obj
- select count(1) from blobs.doc_obj
-allergies::::select count(1) from clin.allergy
- select count(1) from clin.allergy
-communication channels::::select count(1) from dem.lnk_identity2comm
- select count(1) from dem.lnk_identity2comm
-test results::::select count(1) from clin.test_result
- select count(1) from clin.test_result
-unmatched test results::::select count(1) from clin.incoming_data_unmatched
- select count(1) from clin.incoming_data_unmatched
-unmatchable test results::::select count(1) from clin.incoming_data_unmatchable
- select count(1) from clin.incoming_data_unmatchable
-denormalized test results::::select count(1) from clin.v_test_results
- select count(1) from clin.v_test_results
-allergy states::::select count(1) from clin.allergy_state
- select count(1) from clin.allergy_state
-waiting list entries::::select count(1) from clin.waiting_list
- select count(1) from clin.waiting_list
-waiting list view entries::::select count(1) from clin.v_waiting_list
- select count(1) from clin.v_waiting_list
-waiting list integrity::::select((select count(1) from clin.v_waiting_list) = (select count(1) from clin.waiting_list))
- select((select count(1) from clin.v_waiting_list) = (select count(1) from clin.waiting_list))
-messages::::select count(1) from dem.message_inbox
- select count(1) from dem.message_inbox
-test orgs::::select count(1) from clin.test_org
- select count(1) from clin.test_org
-branded drug component intakes::::select count(1) from clin.substance_intake where fk_drug_component is not null
- select count(1) from clin.substance_intake where fk_drug_component is not null
-substance intakes::::select count(1) from clin.substance_intake
- select count(1) from clin.substance_intake
-vaccines::::select count(1) from clin.vaccine
- select count(1) from clin.vaccine
-vaccines (must have indications)::::select 0
- select count(1) from clin.v_vaccines where indications is NULL
-vaccinations::::select count(1) from clin.vaccination
- select count(1) from clin.vaccination
-vaccinations per indication::::select count(1) from clin.v_pat_vaccs4indication
- select count(1) from clin.v_pat_vaccs4indication
-latest vaccinations::::select count(1) from clin.v_pat_last_vacc4indication
- select count(1) from clin.v_pat_last_vacc4indication
-latest vaccinations - patients::::select count(1) from clin.v_pat_last_vacc4indication group by pk_patient
- select count(1) from clin.v_pat_last_vacc4indication group by pk_patient
-latest vaccinations - shots::::select count(1) from clin.v_pat_last_vacc4indication group by pk_vaccination
- select count(1) from clin.v_pat_last_vacc4indication group by pk_vaccination
-latest vaccinations - indications::::select count(1) from clin.v_pat_last_vacc4indication group by pk_indication
- select count(1) from clin.v_pat_last_vacc4indication group by pk_indication
-requests on results::::select count(1) from clin.test_result where fk_request is not NULL
- select count(1) from clin.test_result where fk_request is not NULL
-clinical code links (total) - internal consistency::::select True
- select ((select count(1) from clin.lnk_code2item_root) = (select ((select count(1) from clin.lnk_code2procedure) + (select count(1) from clin.lnk_code2rfe) + (select count(1) from clin.lnk_code2aoe) + (select count(1) from clin.lnk_code2episode) + (select count(1) from clin.lnk_code2h_issue) + (select count(1) from clin.lnk_code2narrative))))
-paperwork templates::::select count(1) from ref.paperwork_templates
- select count(1) from ref.paperwork_templates
-automatic hints::::select count(1) from ref.auto_hint
- select count(1) from ref.auto_hint
-suppressed hints::::select count(1) from clin.suppressed_hint
- select count(1) from clin.suppressed_hint
-raw keyword expansions::::select count(1) from ref.keyword_expansion
- select count(1) from ref.keyword_expansion
-mapped keyword expansions::::select count(1) from ref.v_keyword_expansions
- select count(1) from ref.v_keyword_expansions
-organisations::::select count(1) from dem.org
- select count(1) from dem.org
-organisational units::::select count(1) from dem.org_unit
- select count(1) from dem.org_unit
-data sources::::select count(1) from ref.data_source
- select count(1) from ref.data_source
-bills with invoices but without VAT status::::select 0
- select count(1) from bill.bill where (apply_vat is null) and (fk_doc is not null)
-clinical items::::select count(1) from clin.clin_root_item
- select count(1) from clin.clin_root_item
-export items::::select count(1) from clin.export_item
- select count(1) from clin.export_item
-export items view::::select count(1) from clin.v_export_items
- select count(1) from clin.v_export_items
-export items integrity::::select ((select count(1) from clin.export_item) = (select count(1) from clin.v_export_items))
- select ((select count(1) from clin.export_item) = (select count(1) from clin.v_export_items))
--- ------------------
--- commented out:
---latest vaccinations - vaccine::::select count(1) from clin.v_pat_last_vacc4indication group by pk_vaccine
--- select count(1) from clin.v_pat_last_vacc4indication group by pk_vaccine
---v_pat_addresses::::select ((select count(1) from dem.v_pat_addresses) - (select count(1) from dem.lnk_person_org_address l join dem.identity i on (i.pk = l.id_identity) where i.deleted is true))
--- select count(1) from dem.v_pat_addresses
---unique URBs with ZIP::::select count(1) from dem.v_uniq_zipped_urbs
--- select count(1) from dem.v_uniq_zipped_urbs
---ATC codes::::select count(1) from (select distinct on (code, term, fk_data_source) 1 from ref.atc) as uniq_atc
--- select count(1) from ref.atc
---ATC vs generic codes - internal consistency::::select 0
--- select code, term, fk_data_source from ref.atc except select code, term, fk_data_source from ref.generic_coding_system
---LOINC codes::::select count(1) from ref.loinc
--- select count(1) from ref.loinc
---LOINC vs generic codes - internal consistency::::select 0
--- select code, term, fk_data_source from ref.loinc except select code, term, fk_data_source from ref.generic_coding_system
---generic codes (total) - internal consistency::::select True
--- select ((select count(1) from ref.coding_system_root) = (select ((select count(1) from ref.atc) + (select count(1) from ref.loinc))))
--- ------------------
--- for debugging:
---skipped check::::select 'skipped in old' -- old
--- select 'skipped in new' -- new
---check definition error::select 1 -- old
--- select 1 -- new
---syntax error (old)::::selec 1 -- old
--- select 1 -- new
---syntax error (new)::::select 1 -- old
--- selec 1 -- new
---data mismatch error::::select 1 -- old
--- select 2 -- new
-$upgrade plausibility checks$
-
-#----------------------------------
-[server local host]
-name =
-port = 5432
-template database = template1
-super user alias = postgres
-schema base directory = ../sql/v21-v22/
-schema = $schema$
-$schema$
-
-#----------------------------------
-[user GNUmed owner]
-name = gm-dbo
-password =
-
-[user postgres]
-name = postgres
-#password =
-
-#----------------------------------
-# these really shouldn't be changed
-#----------------------------------
-[GnuMed defaults]
-
-database owner alias = GNUmed owner
-
-groups = $groups$
-$groups$
-
-#----------------------------------
diff --git a/server/doc/schema/gnumed-entire_schema.html b/server/doc/schema/gnumed-entire_schema.html
index c421c7c..1bd1ec2 100644
--- a/server/doc/schema/gnumed-entire_schema.html
+++ b/server/doc/schema/gnumed-entire_schema.html
@@ -112,7 +112,7 @@
<body>
<!-- Primary Index -->
- <p><br><br>Dumped on 2016-04-25</p>
+ <p><br><br>Dumped on 2016-05-26</p>
<h1><a name="index">Index of database - gnumed_v21</a></h1>
<ul>
diff --git a/server/pycommon/gmI18N.py b/server/pycommon/gmI18N.py
index 0bc32eb..c1508f2 100644
--- a/server/pycommon/gmI18N.py
+++ b/server/pycommon/gmI18N.py
@@ -132,12 +132,12 @@ def __log_locale_settings(message=None):
_log.debug(message)
_log.debug('current locale settings:')
- _log.debug('locale.get_locale(): %s' % str(locale.getlocale()))
+ _log.debug('locale.getlocale(): %s' % str(locale.getlocale()))
for category in _getlocale_categories.keys():
- _log.debug('locale.get_locale(%s): %s' % (category, locale.getlocale(_getlocale_categories[category])))
+ _log.debug('locale.getlocale(%s): %s' % (category, locale.getlocale(_getlocale_categories[category])))
for category in _setlocale_categories.keys():
- _log.debug('(locale.set_locale(%s): %s)' % (category, locale.setlocale(_setlocale_categories[category])))
+ _log.debug('(locale.setlocale(%s): %s)' % (category, locale.setlocale(_setlocale_categories[category])))
try:
_log.debug('locale.getdefaultlocale() - default (user) locale: %s' % str(locale.getdefaultlocale()))
@@ -286,42 +286,91 @@ def install_domain(domain=None, language=None, prefer_local_catalog=False):
# http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
_log.debug('searching message catalog file for system locale [%s]' % system_locale)
+ _log.debug('checking process environment:')
for env_var in ['LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG']:
tmp = os.getenv(env_var)
if env_var is None:
- _log.debug('${%s} not set' % env_var)
+ _log.debug(' ${%s} not set' % env_var)
else:
- _log.debug('${%s} = [%s]' % (env_var, tmp))
-
+ _log.debug(' ${%s} = [%s]' % (env_var, tmp))
+
+ # language codes to try
+ lang_candidates = []
+ # first: explicit language or default system language
+ # language=None: unadulterated default language for user (locale.getlocale()[0] value)
+ # language != None: explicit language setting as passed in by the caller
+ lang_candidates.append(language)
if language is not None:
- _log.info('explicit setting of ${LANG} requested: [%s]' % language)
- _log.info('this will override the system locale language setting')
- os.environ['LANG'] = language
+ _log.info('explicit request for target language [%s]' % language)
+ # next: try default language for user if explicit language fails
+ lang_candidates.append(None)
+
+ # next try locale.getlocale()[0], if different (this can be strange on, say, Windows: Hungarian_Hungary)
+ if locale.getlocale()[0] not in lang_candidates:
+ lang_candidates.append(locale.getlocale()[0])
+
+ # next try locale.get*default*locale()[0], if different
+ if locale.getdefaultlocale()[0] not in lang_candidates:
+ lang_candidates.append(locale.getdefaultlocale()[0])
+
+ _log.debug('languages to try for translation: %s (None: implicit system default)', lang_candidates)
+ initial_lang = os.getenv('LANG')
+ _log.info('initial ${LANG} setting: %s', initial_lang)
+
+ # loop over language candidates
+ for lang_candidate in lang_candidates:
+ # setup baseline
+ _log.debug('resetting ${LANG} to initial user default [%s]', initial_lang)
+ if initial_lang is None:
+ del os.environ['LANG']
+ lang2log = u'$LANG=<>'
+ else:
+ os.environ['LANG'] = initial_lang
+ lang2log = u'$LANG(default)=%s' % initial_lang
+ # setup candidate language
+ if lang_candidate is not None:
+ _log.info('explicitely overriding system locale language [%s] by setting ${LANG} to [%s]', initial_lang, lang_candidate)
+ os.environ['LANG'] = lang_candidate
+ lang2log = u'$LANG(explicit)=%s' % lang_candidate
+
+ if __install_domain(domain = domain, prefer_local_catalog = prefer_local_catalog, language = lang2log):
+ return True
+
+ # install a dummy translation class
+ _log.warning("falling back to NullTranslations() class")
+ # this shouldn't fail
+ dummy = gettext.NullTranslations()
+ dummy.install()
+ return True
+
+#---------------------------------------------------------------------------
+def __install_domain(domain, prefer_local_catalog, language=u'?'):
+ # <language> only used for logging
# search for message catalog
- candidates = []
+ candidate_PO_dirs = []
# - locally
if prefer_local_catalog:
- _log.debug('preferring local message catalog')
+ _log.debug('prioritizing local message catalog')
# - one level above path to binary
# last resort for inferior operating systems such as DOS/Windows
# strip one directory level
# this is a rather neat trick :-)
loc_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..', 'po'))
_log.debug('looking above binary install directory [%s]' % loc_dir)
- candidates.append(loc_dir)
+ candidate_PO_dirs.append(loc_dir)
# - in path to binary
loc_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), 'po'))
_log.debug('looking in binary install directory [%s]' % loc_dir)
- candidates.append(loc_dir)
+ candidate_PO_dirs.append(loc_dir)
# - standard places
if os.name == 'posix':
_log.debug('system is POSIX, looking in standard locations (see Python Manual)')
# if this is reported to segfault/fail/except on some
# systems we may have to assume "sys.prefix/share/locale/"
- candidates.append(gettext.bindtextdomain(domain))
+ candidate_PO_dirs.append(gettext.bindtextdomain(domain))
else:
_log.debug('No use looking in standard POSIX locations - not a POSIX system.')
@@ -331,7 +380,7 @@ def install_domain(domain=None, language=None, prefer_local_catalog=False):
if env_key in os.environ:
loc_dir = os.path.abspath(os.path.join(os.environ[env_key], 'po'))
_log.debug('${%s} = "%s" -> [%s]' % (env_key, os.environ[env_key], loc_dir))
- candidates.append(loc_dir)
+ candidate_PO_dirs.append(loc_dir)
else:
_log.info("${%s} not set" % env_key)
@@ -343,21 +392,22 @@ def install_domain(domain=None, language=None, prefer_local_catalog=False):
# this is a rather neat trick :-)
loc_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..', 'po'))
_log.debug('looking above binary install directory [%s]' % loc_dir)
- candidates.append(loc_dir)
+ candidate_PO_dirs.append(loc_dir)
# - in path to binary
loc_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), 'po' ))
_log.debug('looking in binary install directory [%s]' % loc_dir)
- candidates.append(loc_dir)
+ candidate_PO_dirs.append(loc_dir)
# now try to actually install it
- for candidate in candidates:
- _log.debug('trying [%s](/%s/LC_MESSAGES/%s.mo)', candidate, system_locale, domain)
- if not os.path.exists(candidate):
+ for candidate_PO_dir in candidate_PO_dirs:
+ _log.debug('trying with (%s, %s, %s)', candidate_PO_dir, language, domain)
+ _log.debug(' -> %s/%s/LC_MESSAGES/%s.mo', candidate_PO_dir, language, domain)
+ if not os.path.exists(candidate_PO_dir):
continue
try:
- gettext.install(domain, candidate, unicode=1)
+ gettext.install(domain, candidate_PO_dir, unicode = 1)
except:
- _log.exception('installing text domain [%s] failed from [%s]', domain, candidate)
+ _log.exception('installing text domain [%s] failed from [%s]', domain, candidate_PO_dir)
continue
global _
# does it translate ?
@@ -372,12 +422,7 @@ def install_domain(domain=None, language=None, prefer_local_catalog=False):
__builtin__._ = _translate_protected
return True
- # 5) install a dummy translation class
- _log.warning("falling back to NullTranslations() class")
- # this shouldn't fail
- dummy = gettext.NullTranslations()
- dummy.install()
- return True
+ return False
#===========================================================================
_encoding_mismatch_already_logged = False
@@ -471,7 +516,7 @@ if __name__ == "__main__":
print("system locale: ", system_locale, "; levels:", system_locale_level)
print("likely encoding:", get_encoding())
- if len(sys.argv) > 1:
+ if len(sys.argv) > 2:
install_domain(domain = sys.argv[2])
else:
install_domain()
diff --git a/server/pycommon/gmTools.py b/server/pycommon/gmTools.py
index 9e5fb8b..8c574d1 100644
--- a/server/pycommon/gmTools.py
+++ b/server/pycommon/gmTools.py
@@ -278,14 +278,15 @@ class gmPaths(gmBorg.cBorg):
self.__tmp_dir_already_set
_log.debug(u'temp dir already set')
except AttributeError:
- _log.info(u'initial temp dir: %s', tempfile.gettempdir())
+ _log.info(u'initial (user level) temp dir: %s', tempfile.gettempdir())
# $TMP/gnumed-$USER/
tmp_base = os.path.join(tempfile.gettempdir(), app_name + r'-' + getpass.getuser())
mkdir(tmp_base, 0o700)
tempfile.tempdir = tmp_base
- _log.info(u'intermediate temp dir: %s', tempfile.gettempdir())
+ _log.info(u'intermediate (app level) temp dir: %s', tempfile.gettempdir())
# $TMP/gnumed-$USER/g$UNIQUE/
self.tmp_dir = tempfile.mkdtemp(prefix = r'g')
+ _log.info(u'final (app instance level) temp dir: %s', tempfile.gettempdir())
self.__log_paths()
if wx is None:
@@ -416,7 +417,7 @@ class gmPaths(gmBorg.cBorg):
_log.debug('previous temp dir: %s', tempfile.gettempdir())
self.__tmp_dir = path
tempfile.tempdir = self.__tmp_dir
- _log.debug('current temp dir: %s', tempfile.gettempdir())
+ _log.debug('new temp dir: %s', tempfile.gettempdir())
self.__tmp_dir_already_set = True
def _get_tmp_dir(self):
diff --git a/server/sql/v20-v21/dynamic/v21-release_notes-dynamic.sql b/server/sql/v20-v21/dynamic/v21-release_notes-dynamic.sql
index 820e480..f83e454 100644
--- a/server/sql/v20-v21/dynamic/v21-release_notes-dynamic.sql
+++ b/server/sql/v20-v21/dynamic/v21-release_notes-dynamic.sql
@@ -17,24 +17,25 @@ INSERT INTO dem.message_inbox (
) VALUES (
(select pk from dem.staff where db_user = 'any-doc'),
(select pk_type from dem.v_inbox_item_type where type = 'memo' and category = 'administrative'),
- 'Release Notes for GNUmed 1.6.5 (database v21.5)',
- 'GNUmed 1.6.5 Release Notes:
+ 'Release Notes for GNUmed 1.6.6 (database v21.6)',
+ 'GNUmed 1.6.6 Release Notes:
- 1.6.5
+ 1.6.6
-IMPROVED: list context menu: operate on _selected_ rows
+FIX: error when running gm-import_incoming as root
+FIX: failure to show entries with soap_cat=NULL in EMR list journal
+FIX: copy-pasto "nicotine" -> "ethanol"
- 1.6.4
+IMPROVED: clear metadata panel after importing new document
+IMRPOVED: enable editing of document source org
+IMPROVED: list context menu layout
+IMPROVED: handling of Windows locale names like Hungarian_Hungary [thanks Attila]
+IMPROVED: AppData file
+IMRPOVED: OOo/LO/SO detection [thanks John]
+IMRPOVED: tree display of documents
-FIX: EMR journal exporter on Windows [thanks Marc]
-
-IMPROVED: by-org sort mode in document tree
-IMPROVED: file describer script
-IMPROVED: STIKO tetanus auto hint
-IMPROVED: ES translation [thanks Uwe]
-
-NEW: gm-import_incoming script for external use
+NEW: calculate distance of patient address to your praxis
');
-- --------------------------------------------------------------
-select gm.log_script_insertion('v21-release_notes-dynamic.sql', '21.5');
+select gm.log_script_insertion('v21-release_notes-dynamic.sql', '21.6');
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/gnumed-server.git
More information about the debian-med-commit
mailing list