--- loncom/LONCAPA.pm 2006/05/30 19:29:48 1.5 +++ loncom/LONCAPA.pm 2006/06/19 09:35:08 1.6 @@ -1,7 +1,7 @@ # The LearningOnline Network # Base routines # -# $Id: LONCAPA.pm,v 1.5 2006/05/30 19:29:48 albertel Exp $ +# $Id: LONCAPA.pm,v 1.6 2006/06/19 09:35:08 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -167,6 +167,27 @@ sub untie_user_hash { return &_locking_hash_untie(@_); } +# routines if you just have a filename +# return tied hashref or undef + +sub locking_hash_tie { + my ($filename,$how)=@_; + my ($file_prefix,$namespace)=&db_filename_parts($filename); + unless ($namespace) { return undef; } + return &_locking_hash_tie($file_prefix,$namespace,$how); +} + +sub locking_hash_untie { + return &_locking_hash_untie(@_); +} + +sub db_filename_parts { + my ($filename)=@_; + my ($file_path,$namespace)=($filename=~/^(.*)\/([^\/]+)\.db$/); + unless ($namespace) { return undef; } + return ($file_path.'/'.$namespace,$namespace); +} + # internal routines that handle the actual tieing and untieing process sub _do_hash_tie {