Re: Data::ShortNameProvider proposal

Tim Bunce <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
On Thu, May 15, 2014 at 04:02:20PM +0200, Philippe Bruhat (BooK) wrote:
> On Thu, May 15, 2014 at 02:07:23PM +0100, Tim Bunce wrote:
> > On Thu, May 15, 2014 at 01:34:21AM +0200, Philippe Bruhat (BooK) wrote:
> > > On Tue, May 13, 2014 at 11:11:10PM +0100, Tim Bunce wrote:
> > > > 
> > > > Parse a generated shortname:
> > > > 
> > > >     $hash = $np->parse_generated_name($name); # eg to get date etc
> > > > 
> > > > %$hash would contain something like
> > > > 
> > > >     {
> > > >         version => 1, # version of the Basic format
> > > >         timestamp_string => '140513',
> > > >         timestamp_epoch => 1400017536,
> > > >         name => 'foo'
> > > >     }
> > > 
> > > It should also return 'prefix', and actually all attributes needed to
> > > re-create the DSNP instance. So doing something like:
> > > 
> > >     $np2 = Data::ShortNameProvider->new( %$hash );
> > > 
> > > would ignore unexpected parameters (timestamp_* and name), and return
> > > a Data::ShortNameProvider object equivalent to the original one.
> > 
> > Interesting. Actually timestamp_epoch could be used to provide the
> > time value that should be formatted into the short name.
> 
> I'm not sure I understand this correctly.
> 
> If a long-running program creates a Data::ShortNameProvider $np and
> uses $np->generate_new_name( ... ) to create short names, is the timestamp
> in the name generated each time according to the current value of time(),
> or is it fixed to the time() when new() was called?

Good question. I was thinking it would be at the time generate_new_name
was called but I could argue it either way.

[...pondering...] now I'm thinking we should use the time new() was
called, but provide a method to change that:

    $np->timestamp_epoch( time() );

It doesn't seem worth adding the ability to pass a timestamp to
generate_new_name().

Tim.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.