Пример #1
0
def repy_data():
    """Download raw REPY data from Technion, convert it to almost-unicode
    (numbers are reversed)"""
    REPY_URI = "http://ug.technion.ac.il/rep/REPFILE.zip"
    if prefs.options.usecache:
        t = open("REPFILE.zip")
    else:
        try:
            t = tempfile.TemporaryFile()
            t.write(urllib.urlopen(REPY_URI).read())
        except:
            ttime.warning(_("Network download of REPFILE.zip failed, " \
                    "trying local"))
            try:
                t = open("REPFILE.zip")
            except: raise _("REP file download has failed")
    try:
        z = zipfile.ZipFile(t)
    except:
        raise _("REP file is not a valid zip file!")
    repy_data = '\n'.join([ bidi_flip(unicode(x).rstrip('\r')) for x in
        unicode(z.read('REPY'), 'cp862').split('\n') ])
    z.close
    t.close
    return repy_data
Пример #2
0
    def __init__(self):
        gui.ProgressDialog(_("Downloading REPY data"), self.get_data,
                           self.start_main_window)
	
        gtk.main()
Пример #3
0
    def start_main_window(self):
        logic.repy.parse_repy_data()

        print _("Data has been downloaded, starting main window")
        self.main_window = gui.MainWindow()
Пример #4
0
def parse_raw_course(header, body):
    # This is an interesting course to parse, start with it
    body = u"""
| מורה  אחראי : פרופ.  ד.הרשקוביץ          |
| -----------                              |
| מועד ראשון :יום  ד' 25/07/07             |
| -----------                              |
| מועד שני   :יום  א' 14/10/07             |
| -----------                              |
| 1.מתרגלת אחראית: גב' מרינה גרוזד.        |
|מס.                  ++++++               |
|רישום                                     |
|      הרצאה: ג'14.30-12.30  307 אולמן     |
|      מרצה : פרופ.  ד.הרשקוביץ            |
|      -----                               |
|                                          |
|  11  תרגיל: א'15.30-14.30  601 אולמן     |
|      מתרגל: גב     נ.לפל                 |
|      -----                               |
|                                          |
|  12  תרגיל: א'15.30-14.30  701 אולמן     |
|      מתרגל: 0      א.שיפמן               |
|      -----                               |
|                                          |
|  13  תרגיל: ד'15.30-14.30  504 אולמן     |
|      מתרגל: גב     ג.חדיף-נגרי           |
|      -----                               |
|מס.                  ++++++               |
|רישום                                     |
|      הרצאה: א'12.30-10.30  605 אולמן     |
|      מרצה : פרופ/ח מ.פוליאק              |
|      -----                               |
|                                          |
|  21  תרגיל: ג'13.30-21.30  601 אולמן     |
|      מתרגל: גב     מ.גרוזד               |
|      -----                               |
|                                          |
|  22  תרגיל: ד'10.30-9.30   601 אולמן     |
|      מתרגל: גב     נ.ציפיניוק            |
|      -----                               |
|                                          |
|  23  תרגיל: ד'15.30-14.30  601 אולמן     |
|      מתרגל: ד"ר    י.פוגרבניאק           |
|      -----                               |
|מס.                  ++++++               |
|רישום                                     |
|      הרצאה: ה'10.30-8.30   305 אולמן     |
|      מרצה : גב     ד.אבידן               |
|      -----                               |
|                                          |
|  31  תרגיל: ב'15.30-14.30  201 אולמן     |
|      מתרגל: גב     א.פודולני             |
|      -----                               |
|                                          |
|  32  תרגיל: ג'14.30-13.30  306 אולמן     |
|      מתרגל: גב     נ.זילברשטיין          |
|      -----                               |
|                                          |
|  33  תרגיל: ג'15.30-14.30  501 אולמן     |
|      מתרגל: גב     נ.זילברשטיין          |
|      -----                               |
|מס.                  ++++++               |
|רישום                                     |
|      הרצאה: ב'14.30-12.30  307 אולמן     |
|      מרצה : ד"ר    י.כהן                 |
|      -----                               |
|                                          |
|  41  תרגיל: ד'16.30-15.30  706 אולמן     |
|      מתרגל: מר     ג.שפירו               |
|      -----                               |
|                                          |
|  42  תרגיל: ה'15.30-14.30  706 אולמן     |
|      מתרגל: גב     י.נץ                  |
|      -----                               |
|                                          |
|  43  תרגיל: ה'15.30-14.30  457 אולמן     |
|      מתרגל: מר     א.ניסנבוים            |
|      -----                               |
|מס.                  ++++++               |
|רישום                                     |
|      הרצאה: ב'12.30-10.30  305 אולמן     |
|      מרצה : גב     ד.אבידן               |
|      -----                               |
|                                          |
|  51  תרגיל: ד'10.30-9.30   604 אולמן     |
|      מתרגל: ד"ר    י.פוגרבניאק           |
|      -----                               |
|                                          |
|  52  תרגיל: ד'10.30-9.30   706 אולמן     |
|      מתרגל: גב     ג.ליטבינוב            |
|      -----                               |
|                                          |
|  53  תרגיל: ד'15.30-14.30  701 אולמן     |
|      מתרגל: 0      א.יודוביץ             |
|      -----                               |
|מס.                  ++++++               |
|רישום                                     |
|      הרצאה: ג'14.30-12.30  302 אולמן     |
|      מרצה : ד"ר    י.פוסטילניק           |
|      -----                               |
|                                          |
|  61  תרגיל: א'12.30-11.30  311 אולמן     |
|      מתרגל: גב     ג.ליטבינוב            |
|      -----                               |
|                                          |
|  62  תרגיל: א'12.30-11.30  456 אולמן     |
|      מתרגל: גב     ל.גיטלמן              |
|      -----                               |
|                                          |
|  63  תרגיל: ד'15.30-14.30  301 אולמן     |
|      מתרגל: גב     מ.גרוזד               |
|      -----                               |"""
    m = re.match(COURSE_HEADER_REGEX, header)
    course_id = m.groupdict()['course_id']
    course_name = m.groupdict()['course_name'].strip()
    academic_points = float(m.groupdict()['academic_points'])
    hours = []

    arr = m.groups()
    for i in range(2,len(arr)-1):
        hours.append(arr[i].strip())

    # print course_id, course_name, academic_points, str(hours), '!'

    # TODO: The state-machine :/

    current_lecture_group_number = 1

    print body

    m = re.match(RAW_COURSE_REGEX, body)

    try:
        print m.groupdict()
        for i,j in m.groupdict().items(): print i,j
    except:
        error(_(u"Error parsing course body in %s %s. Body was:\n‏<tt>%s</tt>") %
            (course_id, course_name, body))
        raise

    error(
            "Parsing course body in %s %s."
            "Body was: \n‏<tt>%s</tt>\n"
            "Retrieved data: %s" % (course_id, course_name, body, "\n".join([ str(k) + ": " + str(v) for k,v in m.groupdict().items()])))
    raise

    return (header, body)