예제 #1
0
def runProcess():
    jar = cookielib.CookieJar()
    u = get("https://www.rbi.org.in/Scripts/bs_viewcontent.aspx?Id=2009", cookies=jar)
    pattern = re.compile(r'<th>.*as on\s(.*)</th>')
    dateString = pattern.findall(u.content)[0]
    rbiLastModifiedDate = datetime.strptime(dateString.strip(), '%B %d, %Y')

    if(Settings.objects(settingsID="datesettings").first()):
        settings = Settings.objects.get(settingsID="datesettings")
        if rbiLastModifiedDate > settings.lastUpdated:
            print ("Data modified in rbi website.\nDownloading new data..")
            settings.lastUpdated = rbiLastModifiedDate
            settings.save()

            #Download files from rbi and save to xls/
            downloadFiles()

            #Parse details from xls files and insert into mongodb
            parseFiles()
        else:
            print ("Data is up to date.\n")
    else:
        print ("Running for the first time.")
        settings = Settings()
        settings.lastUpdated = rbiLastModifiedDate
        settings.yomLastFetched = rbiLastModifiedDate
        settings.save()

        downloadFiles()
        parseFiles()

    return True