Hebrew calendar software creators: can you notify this list when updating the calendar?

Hebrew calendar software creators: can you notify this list when updating the calendar?

Ron Varburg linux-il at hotmail.com
Tue May 25 15:27:10 IDT 2010


I intend to file the following report.  Any comments?

Package: bsdmainutils
Version: 8.0.11
Severity: normal
Tags: patch


  calendar.judaic was last updated in 2007.  Due to the nature of
the Jewish calendar, it renders the file unusable.  To address the
difficulties facing the maintaner, a python script is included.  This
script offers the maintainer a way to create the file as required.
The script is not limited to a single year.  Just enter the desired 
year as an argument in the command line.  I suggest to keep this
script in the Debian directory of the source package.


$ cat calendarJudaic.py
#! /usr/bin/python
# Filename: calendarJudaic.py
#
# License: no warranty close + no license (public domain)
#
# Creates a calendar.judaic file, which is suitable for inclusion 
# in Debian's bsdmainutils package.  Up to the introductory of 
# this script the calendar.judaic file was not updated regulary.  
# Probably because updating it is time consuming.  This python 
# script let anyone create that file, for any year.  Its output is
# written to stdout.  It requires the libhdate-python package.
# A small part of the holidays might require manual editing 
# because the state of Israel modifies the actual date by a few 
# days due to various considerations.

# References:
# http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58169.html
# http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58321.html
# http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58451.html


from    string    import  Template
import  hdate,  optparse,  sys,  time


def main():

    description = '''Description: 
Creates a calendar.judaic file, which is suitable for inclusion 
in Debian's bsdmainutils package.  Up to the introductory of 
this script the calendar.judaic file was not updated regulary.  
Probably because updating it is time consuming.  This python 
script let anyone create that file, for any year.  Its output is
written to stdout.  It requires the libhdate-python package.
A small part of the holidays might require manual editing 
because the state of Israel modifies the actual date by a few 
days due to various considerations.
'''
    usage = "Usage:    %prog [year]\n"\
            "\n"\
            "Example:  %prog 2099"
    version = "29-May-2010"
    parser = optparse.OptionParser(description=description,
                                   usage=usage, version=version)
    (options, args) = parser.parse_args()
    if len(args)> 1:
        parser.error("\n  " + str(len(args)) + " arguments were "
            "given.  At most 1, an integer represnting a year, "
            "is expected."
                    )
    elif len(args) == 1:
        # An integer represnting a year is expected.
        try:
            year = int(args[0])
        except ValueError:
            parser.error("\n  Could not convert the argument " + args[0]
            + ", which should represent a year, to an integer."
                        )
    else:  # len(args) == 0, no args were given.  Use the current year.
        year = time.localtime().tm_year

    h = hdate.Hdate()

    template_for_header = '''/* 
 * Judaic Calendar. Created by calendar.judaic.py.
 * Collaboratively authored by linux-il at cs.huji.ac.il.
 *
 * $$Debian GNU\Linux$$
 *
 */

/*
 * $$Id: calendarJudaic.py,v ${PLACE_HOLDER_FOR_VERSION}$$
 */
 
#ifndef _calendar_judaic_
#define _calendar_judaic_

LANG=UTF-8

/*
 * Jewish calendar for the CE year ${PLACE_HOLDER_FOR_THR_CE_YEAR}
 * ${PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR} - ${PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR}
 */

'''

    footer = '''

#endif /* !_calendar_judaic_ */'''

    substitutions_for_header = {
        'PLACE_HOLDER_FOR_VERSION' : version,
        'PLACE_HOLDER_FOR_THR_CE_YEAR' : str(year)
                               }
    h.set_gdate(1, 1, year)
    substitutions_for_header[
        'PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR'] = \
            h.get_format_date(h.get_julian()) + ' ' + \
                                h.get_hebrew_year_string()
    h.set_gdate(31, 12, year)
    substitutions_for_header[
        'PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR'] = \
            h.get_format_date(h.get_julian()) + ' ' + \
                                h.get_hebrew_year_string()
    header = Template(template_for_header).substitute(
                                    substitutions_for_header)
    print header

    h.set_gdate(1, 1, year)
    julian = h.get_julian()
    for i in range(0, 365):
        h.set_jd(julian)
        julian += 1
        day = h.get_gday()
        month = h.get_gmonth()
        holyday = h.get_holyday_string(1)
        if holyday:
            print "%02d/%02d*  %s" % (day, month, holyday)
        parasha = h.get_parasha_string(julian)
        if parasha != 'none':
            print "%02d/%02d*  Parshat %s" % (day, month, parasha)

    print footer

    sys.exit()


if __name__ == "__main__":
    main()
else:
    # The following is useful from within an interactive Python
    # interpreter, where calendarJudaic.py is in the same `pwd`:
    #  >>> import calendarJudaic
    pass

$ cat calendar.judaic.2010
/* 
 * Judaic Calendar. Created by calendar.judaic.py.
 * Collaboratively authored by linux-il at cs.huji.ac.il.
 *
 * $Debian GNU\Linux$
 *
 */

/*
 * $Id: calendarJudaic.py,v 29-May-2010$
 */
 
#ifndef _calendar_judaic_
#define _calendar_judaic_

LANG=UTF-8

/*
 * Jewish calendar for the CE year 2010
 * 15 Tevet 5770 - 24 Tevet 5771
 */


02/01*  Parshat Vayechi
09/01*  Parshat Shemot
16/01*  Parshat Vaera
23/01*  Parshat Bo
30/01*  Tu B'Shvat
30/01*  Parshat Beshalach
06/02*  Parshat Yitro
13/02*  Parshat Mishpatim
14/02*  Family Day
20/02*  Parshat Terumah
25/02*  Ta'anit Esther
27/02*  Parshat Tetzaveh
28/02*  Purim
01/03*  Shushan Purim
06/03*  Parshat Ki Tisa
13/03*  Parshat Vayakhel-Pekudei
20/03*  Parshat Vayikra
27/03*  Parshat Tzav
30/03*  Pesach
31/03*  Hol hamoed Pesach
01/04*  Hol hamoed Pesach
02/04*  Hol hamoed Pesach
03/04*  Hol hamoed Pesach
04/04*  Hol hamoed Pesach
05/04*  Pesach VII
10/04*  Parshat Shmini
12/04*  Yom HaShoah
17/04*  Parshat Tazria-Metzora
19/04*  Yom HaZikaron
20/04*  Yom HaAtzma'ut
24/04*  Parshat Achrei Mot-Kedoshim
01/05*  Parshat Emor
02/05*  Lag B'Omer
08/05*  Parshat Behar-Bechukotai
12/05*  Yom Yerushalayim
15/05*  Parshat Bamidbar
18/05*  Erev Shavuot
19/05*  Shavuot
22/05*  Parshat Nasso
29/05*  Parshat Beha'alotcha
05/06*  Parshat Sh'lach
12/06*  Parshat Korach
19/06*  Parshat Chukat
26/06*  Parshat Balak
29/06*  Tzom Tammuz
03/07*  Parshat Pinchas
10/07*  Parshat Matot-Masei
11/07*  Zhabotinsky day
17/07*  Parshat Devarim
20/07*  Tish'a B'Av
24/07*  Parshat Vaetchanan
26/07*  Tu B'Av
31/07*  Parshat Eikev
07/08*  Parshat Re'eh
14/08*  Parshat Shoftim
21/08*  Parshat Ki Teitzei
28/08*  Parshat Ki Tavo
04/09*  Parshat Nitzavim-Vayeilech
09/09*  Rosh Hashana I
10/09*  Rosh Hashana II
11/09*  Parshat Ha'Azinu
12/09*  Tzom Gedaliah
18/09*  Yom Kippur
23/09*  Sukkot
24/09*  Hol hamoed Sukkot
25/09*  Hol hamoed Sukkot
26/09*  Hol hamoed Sukkot
27/09*  Hol hamoed Sukkot
28/09*  Hol hamoed Sukkot
29/09*  Hoshana raba
30/09*  Shmini Atzeret
30/09*  Parshat Vezot Habracha
02/10*  Parshat Bereshit
09/10*  Parshat Noach
16/10*  Parshat Lech-Lecha
20/10*  Rabin memorial day
23/10*  Parshat Vayera
30/10*  Parshat Chayei Sara
06/11*  Parshat Toldot
13/11*  Parshat Vayetzei
20/11*  Parshat Vayishlach
27/11*  Parshat Vayeshev
02/12*  Chanukah
03/12*  Chanukah
04/12*  Chanukah
04/12*  Parshat Miketz
05/12*  Chanukah
06/12*  Chanukah
07/12*  Chanukah
08/12*  Chanukah
09/12*  Chanukah
11/12*  Parshat Vayigash
17/12*  Asara B'Tevet
18/12*  Parshat Vayechi
25/12*  Parshat Shemot


#endif /* !_calendar_judaic_ */


  The file that is currently included in the distribution is the
following:

$ cat /usr/share/calendar/calendar.judaic.2007
/*
 * Judaic Calendar. Maintained by Josef Grosch <jgrosch at mooseriver.com>.
 *
 * $FreeBSD$
 *
 */

/*
 * $Id: calendar.judaic,v 1.45 2007/01/01 22:24:53 jgrosch Exp $
 */

#ifndef _calendar_judaic_
#define _calendar_judaic_

LANG=UTF-8

/*
 * Jewish calendar for the CE year 2007
 * 11 Tevet 5767 - 22 tevet 5768
 */


01/06*    Parshas Vayechi
01/13*    Parshas Shemos
01/20*    Parshas Vaera
01/20*    Rosh Chodesh Shevat (Beginning of the month of Shevat)
01/27*    Parshas Bo
02/03*    Parshas Beshalach
02/03*    Shabbos Shira
02/03*    Tu B'Shevat (Feast of Trees)
02/10*    Parshas Yisro
02/17*    Parshas Mishpatim
02/17*    Shabbos Shekalim
02/18*    Rosh Chodesh Adar (Beginning of the month of Adar)
02/18*    Be Happy! It's Adar
02/19*    Rosh Chodesh Adar (Beginning of the month of Adar)
02/19*    Be Happy! It's Adar
02/24*    Parshas Terumah
03/01*    Ta'anis Esther (Fast of Esther, Battle of Purim)
03/03*    Parshas Tetzaveh
03/03*    Shabbos Zachor
03/04*    Purim (Feast of Lots)
03/05*    Shushan Purim
03/10*    Parshas Ki Sisa
03/10*    Shabbos Parah
03/17*    Parshas Vayakhel-Pekudei
03/17*    Shabbos HaChodesh
03/20*    Rosh Chodesh Nissan (Beginning of the month of Nissan)
03/24*    Parshas Vayikra
03/31*    Parshas Tzav
03/31*    Shabbos Haggadol
04/02*    Erev Pesach
04/02*    Ta'anis Bechoros (Fast of the First Born)
04/02*    First Seder night
04/03*    Pesach (First Day of Passover; sabbatical)
04/03*    Second Sedar night
04/04*    Pesach (Second Day of Passover; sabbatical)
04/04*    Sefirat ha-Omer begins (Counting of the Omer)
04/05*    Omer 2nd day
04/05*    Pesach (Third Day of Passover; sabbatical)
04/05*    Hol Hamoed
04/06*    Omer 3rd day
04/06*    Pesach (Fourth Day of Passover)
04/06*    Hol Hamoed
04/07*    Omer 4th day
04/07*    Pesach (Fifth Day of Passover)
04/07*    Hol Hamoed
04/08*    Omer 5th day
04/08*    Pesach (Sixth Day of Passover)
04/08*    Hol Hamoed
04/09*    Omer 6th day
04/09*    Pesach (Seventh Day of Passover)
04/10*    Omer 7th day
04/10*    Pesach (Last Day of Passover; 8th day of Pesach; sabbatical)
04/10*    Yizkor
04/11*    Omer 8th day
04/12*    Omer 9th day
04/13*    Omer 10th day
04/14*    Omer 11th day
04/14*    Parshas Shmini
04/15*    Omer 12th day
04/15*    Yom HaShoah (Holocaust Memorial Day)
04/16*    Omer 13th day
04/17*    Omer 14th day
04/18*    Omer 15th day
04/18*    Rosh Chodesh Iyar (Beginning of the month of Iyar)
04/19*    Omer 16th day
04/19*    Rosh Chodesh Iyar (Beginning of the month of Iyar)
04/20*    Omer 17th day
04/21*    Omer 18th day
04/21*    Parshas Tazria-Metzora
04/22*    Omer 19th day
04/23*    Omer 20th day
04/23*    Yom HaZikaron
04/24*    Omer 21st day
04/24*    Yom HaAtzma'ut (Israel Independence Day)
04/25*    Omer 22nd day
04/26*    Omer 23th day
04/27*    Omer 24th day
04/28*    Omer 25th day
04/28*    Parshas Achrei Kedoshim
04/29*    Omer 26th day
04/30*    Omer 27th day
05/01*    Omer 28th day
05/02*    Omer 29th day
05/03*    Omer 30th day
05/04*    Omer 31st day
05/05*    Omer 32nd day
05/05*    Parshas Emor
05/06*    Lag B'Omer (Commemoration of the Great Rebellion)
05/06*    Omer 33th day
05/07*    Omer 34th day
05/08*    Omer 35th day
05/09*    Omer 36th day
05/10*    Omer 37th day
05/11*    Omer 38th day
05/12*    Omer 39th day
05/12*    Parshas Behar-Bechukosai
05/13*    Omer 40th day
05/14*    Omer 41st day
05/15*    Omer 42nd day
05/16*    Omer 43th day
05/16*    Yom Yerushalayim (Reunification of Jerusalem)
05/17*    Omer 44th day
05/18*    Omer 45th day
05/18*    Rosh Chodesh Sivan (Beginning of the month of Sivan)
05/19*    Omer 46th day
05/19*    Parshas Bamidbar
05/20*    Omer 47th day
05/21*    Omer 48th day
05/22*    Erev Shavuos
05/22*    Omer 49th day
05/23*    Shavuos (Festival of Weeks; sabbatical)
05/24*    Shavuos (Festival of Weeks; sabbatical)
05/24*    Yizkor
05/26*    Parshas Nasso
06/02*    Parshas Beha'aloscha
06/09*    Parshas Shelach Lecha
06/16*    Parshas Korach
06/16*    Rosh Chodesh Tammuz (Beginning of the month of Tammuz)
06/17*    Rosh Chodesh Tammuz (Beginning of the month of Tammuz)
06/23*    Parshas Chukas
06/30*    Parshas Balak
07/03*    Fast of Shiv'a Asar B'Tammuz (Romans breach Wall of Jerusalem; fast day)
07/03*    Tzom Tammuz
07/07*    Parshas Pinchas
07/14*    Parshas Matos-Masei
07/16*    Rosh Chodesh Av (Beginning of the month of Av)
07/21*    Parshas Devarim
07/21*    Shabbos Hazon
07/24*    Fast of Tish'a B'Av (Babylon/Rome destroys Holy Temple; fast day)
07/28*    Parshas Vaeschanan
07/28*    Shabbos Nachamu
07/30*    Tu B'Av
08/04*    Parshas Eikev
08/11*    Parshas Re'eh
08/14*    Rosh Chodesh Elul (Beginning of the month of Elul)
08/15*    Rosh Chodesh Elul (Beginning of the month of Elul)
08/18*    Parshas Shoftim
08/25*    Parshas Ki Tetze
09/01*    Parshas Ki Savo
09/08*    Parshas Nitzavim-Vayeilech
09/12*    Erev Rosh Hashana
09/13*    First Day of Rosh Hashanah (Jewish New Year; 5768; sabbatical)
09/13*    Rosh Chodesh Tishrei (Beginning of the month of Tishrei)
09/14*    Rosh Hashanah (sabbatical)
09/15*    Parshas Ha'Azinu
09/15*    Shabbos Shuvah
09/16*    Fast of Gedalya (Murder of Gedalya and subsequent Exile; fast day)
09/16*    Tzom Gedaliah
09/21*    Erev Yom Kippur
09/22*    Yom Kippur (Day of Atonement; sabbatical, fast day)
09/22*    Yizkor
09/26*    Erev Sukkos
09/27*    Succos (Festival of Tabernacles; sabbatical)
09/28*    Succos (sabbatical)
09/28*    Sukkos (Second day of Sukkos)
09/29*    Sukkos (Third day of Sukkos)
09/29*    Hol Hamoed
09/30*    Sukkos (Fourth day of Sukkos)
09/30*    Hol Hamoed
10/01*    Sukkos (Fifth day of Sukkos)
10/01*    Hol Hamoed
10/02*    Sukkos (Sixth day of Sukkos)
10/02*    Hol Hamoed
10/03*    Hoshanah Rabba (Seventh day of Succos)
10/03*    Sukkos (Seventh day of Sukkos)
10/04*    Shmini Atzeres (8th Day of Gathering; sabbatical)
10/04*    Yizkor
10/05*    Simchas Torah (Rejoicing of the Law; sabbatical)
10/06*    Parshas Bereshis
10/12*    Rosh Chodesh Heshvan (Beginning of the month of Heshvan)
10/13*    Parshas Noach
10/13*    Rosh Chodesh Heshvan (Beginning of the month of Heshvan)
10/20*    Parshas Lech-Lecha
10/27*    Parshas Vayera
11/03*    Parshas Chayei Sara
11/10*    Parshas Toldos
11/11*    Rosh Chodesh Kislev (Beginning of the month of Kislev)
11/17*    Parshas Vayetzei
11/24*    Parshas Vayishlach
12/01*    Parshas Vayeshev
12/04*    Erev Chanukah
12/04*    Light 1st candle 
12/05*    Chanukah (First Day)
12/05*    Light 2nd candle
12/06*    Chanukah (Second Day)
12/06*    Light 3rd candle
12/07*    Chanukah (Third Day)
12/07*    Light 4th candle
12/08*    Chanukah (Fourth Day)
12/08*    Parshas Miketz
12/08*    Light 5th candle
12/09*    Chanukah (Fifth Day)
12/09*    Light 6th candle
12/10*    Chanukah (Sixth Day)
12/10*    Rosh Chodesh Tevet (Beginning of the month of Tevet)
12/10*    Light 7th candle
12/11*    Chanukah (Seventh Day)
12/11*    Light 8th candle
12/12*    Chanukah (Eight Day)
12/15*    Parshas Vayigash
12/19*    Asara B'Tevet
12/19*    Fast of Asara B'Tevet (Babylonians put siege on Jerusalem; fast day)
12/22*    Parshas Vayechi
12/29*    Parshas Shemos


#endif /* !_calendar_judaic_ */

 		 	   		  
_________________________________________________________________
Hotmail: שירות דואר אלקטרוני מהימן ועשיר המסופק בחינם.
https://signup.live.com/signup.aspx?id=60969


More information about the Linux-il mailing list