Branch: Tag:

2000-09-16

2000-09-16 20:43:31 by Martin Nilsson <mani@lysator.liu.se>

Handle some more metadata.

Rev: server/font_handlers/imagedir.pike:1.5

1:   #include <config.h>   #include <stat.h> - constant cvs_version = "$Id: imagedir.pike,v 1.4 2000/09/04 07:40:50 per Exp $"; + constant cvs_version = "$Id: imagedir.pike,v 1.5 2000/09/16 20:43:31 nilsson Exp $";      constant name = "Image directory fonts";   constant doc = ("Handles a directory with images (in almost any format), each "
125:   }      mapping font_list; + mapping meta_data;   static string font_name( string what )   { -  return (lower_case( replace(what," ","_") )/"\n")[0]-"\r"; +  if(!meta_data) meta_data=([]); +  mapping _meta_data=([]); +  Parser.HTML()-> +  add_containers( ([ "name":lambda(string t, mapping m, string c) { +  what=c; return ""; }, +  "meta":lambda(string t, mapping m, string c) { +  _meta_data[m->name]=c; }, +  ]) )->finish(what); +  +  what=(lower_case( replace(what," ","_") )/"\n")[0]-"\r"; +  if(sizeof(_meta_data)) meta_data[what]=_meta_data; +  return what;   }      void update_font_list()
157:   #endif    if( !font_list ) update_font_list();    if( font_list[ fnt ] ) -  return ({ ([ +  return ({ (meta_data[fnt] || ([])) | ([    "name":fnt,    "family":fnt,    "path":font_list[fnt],