pike.git / lib / modules / Calendar.pmod / Ruleset.pike

version» Context lines:

pike.git/lib/modules/Calendar.pmod/Ruleset.pike:1: + //! module Calendar + //! subclass Ruleset + //! This is the container class for rules. +    class Timezone   {    constant is_timezone=1;      // seconds to utc, not counting DST    static int offset_to_utc;      // timezone name    string name;   
pike.git/lib/modules/Calendar.pmod/Ruleset.pike:49:    string gregorian_week_day_shortname_from_number(int n);    int gregorian_week_day_number_from_name(string name);       string week_name_from_number(int n);    int week_number_from_name(string s);    string year_name_from_number(int y);   }      Language language;    + mapping(string:string) abbr2zone= + ([ +  "AMT":"America/Manaus", +  "AST":"America/Curacao", +  "CDT":"America/Costa_Rica", +  "CST":"America/El_Salvador", +  "EST":"America/Panama", +  "GST":"Asia/Dubai", +  "IST":"Asia/Jerusalem", +  "WST":"Australia/Perth", + ]); +    this_program set_timezone(string|Timezone t)   {    this_program r=clone();    if (stringp(t))    {    t=master()->resolv("Calendar")["Timezone"][t];    if (!t) error("no timezone %O\n",t);    }       if (!t->is_timezone)
pike.git/lib/modules/Calendar.pmod/Ruleset.pike:78:    {    lang=master()->resolv("Calendar")["Language"][lang];    if (!lang) lang=master()->resolv("Calendar")["Language"]["ISO"];    }    if (!lang->is_language)    error("Not a language: %O\n",lang);    r->language=lang;    return r;   }    + //! method Ruleset set_abbr2zone(mapping(string:string) abbr2zone) + //! Sets the guess-mapping for timezones. + //! Default is the mapping + //! + //! <pre> + //! Abbreviation Interpretation + //! AMT America/Manaus [UTC-4] + //! AST America/Curacao [UTC-4] + //! CDT America/Costa_Rica [UTC-5] + //! CST America/El Salvador [UTC-6] + //! EST America/Panama [UTC-5] + //! GST Asia/Dubai [UTC+4] + //! IST Asia/Jerusalem [UTC+2] + //! WST Australia/Perth [UTC+8] + //! </pre> + //! + //! see also: YMD.parse +  +  + this_program set_abbr2zone(mapping(string:string) m) + { +  this_program r=clone(); +  r->abbr2zone=m; +  return r; + } +    this_program set_rule(Language|Timezone rule)   {    this_program r=clone();    if (rule->is_timezone) r->timezone=rule;    if (rule->is_language) r->language=rule;    return r;   }      this_program clone()   {