home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / modules / Cron.ycp < prev    next >
Text File  |  2006-11-29  |  2KB  |  87 lines

  1. /**
  2.  * File:    modules/Cron.ycp
  3.  * Package:    yast2
  4.  * Summary:    Read and Write Crontabs
  5.  * Authors:    Anas Nashif <nashif@suse.de>
  6.  *
  7.  * $Id: Cron.ycp 18555 2004-08-12 19:19:25Z nashif $
  8.  *
  9.  */
  10.  
  11. {
  12.  
  13.     module "Cron";
  14.     textdomain "base";
  15.  
  16.     /**
  17.      * Read crontab contents
  18.      * @param string filename
  19.      * @param map options (not implemented yet)
  20.      * @return list crontab contents
  21.      */
  22.     global define list Read(string filename , map options)
  23.     {
  24.         list crontab = (list)SCR::Read(.cron, filename, options);
  25.         return crontab;
  26.     }
  27.  
  28.  
  29.     /**
  30.      * Write crontab contents
  31.      * @param string filename
  32.      * @param list blocks
  33.      * @return boolean true on success
  34.      */
  35.     global define boolean Write(string filename, list blocks)
  36.     {
  37.  
  38.         boolean ret = SCR::Write(.cron, filename, blocks);
  39.         return ret;
  40.     }
  41.  
  42.  
  43.     /**
  44.      * Add a simple cron job with comment and env. variables
  45.      * @param string comment
  46.      * @param map with environment variables
  47.      * @param  command
  48.      * @param event event time: dom, dow, hour, minute, month, special
  49.      * @param string file path to write cron to
  50.      * @return boolean true on success
  51.      */
  52.     global define boolean AddSimple(
  53.             string comment,
  54.             map envs,
  55.             string command ,
  56.             map event,
  57.             string file
  58.             )
  59.     {
  60.  
  61.         map cron = $[];
  62.         // Comments first
  63.         list<string> comments = [];
  64.         comments = add(comments, comment);
  65.         cron["comments"] = comments;
  66.  
  67.         // Variables
  68.         cron["envs"] = envs;
  69.  
  70.         // Events
  71.         list<map> events = [];
  72.         event["command"] = command;
  73.  
  74.         events = add(events, event);
  75.  
  76.         cron["events"] = events;
  77.  
  78.         list<map> crons = [];
  79.         crons=add(crons, cron);
  80.  
  81.         boolean ret = Write(file, crons);
  82.         return ret;
  83.     }
  84.  
  85.     /* EOF */
  86. }
  87.