def testLoadFromFile(self): ''' SkemaPackConfig : simple read ''' self.config = SkemaPackConfig(open('config_test.cfg')) self.assertEquals(self.config.get("SkemaScraper", "TeacherId"), "5421", "TeacherId is not correct") self.assertEquals(self.config.get("SkemaScraper", "FirstWeek"), "33", "FirstWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "LastWeek"), "52", "LastWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "Year"), "2011", "Year is not correct")
def main(): myConfig = SkemaPackConfig( SkemaPackConfig_stdin() ) myHtmlGetter = HtmlGetter.htmlGetter() htmlResponse = myHtmlGetter.getSkemaWithPost(myConfig.get("SkemaScraper","TeacherId"),\ myConfig.get("SkemaScraper","FirstWeek"),\ myConfig.get("SkemaScraper","LastWeek")) response = htmlResponse.read() htmlScraper = SdeSkemaScraper(DateFormat = myConfig.get("SkemaScraper","Dateformat")) htmlScraper.feed(response) for Appointment in htmlScraper.Appointments: print Appointment
def testLoadFromCurrent(self): os.system("cp config_test.cfg skemapack.cfg") self.config = SkemaPackConfig() self.assertEquals(self.config.get("SkemaScraper", "TeacherId"), "5421", "TeacherId is not correct") self.assertEquals(self.config.get("SkemaScraper", "FirstWeek"), "33", "FirstWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "LastWeek"), "52", "LastWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "Year"), "2011", "Year is not correct") os.system("rm skemapack.cfg")
def testSetGet(self): ''' SkemaPackConfig : simple set and read of value''' self.config = SkemaPackConfig(open('config_test.cfg')) SectionToUse = "SkemaScraper" OptionToUse = "MyVal" ValueToUse = "Test123" self.config.set( SectionToUse, OptionToUse, ValueToUse ) self.assertEquals(self.config.get(SectionToUse, OptionToUse), ValueToUse )
def main(): myConfig = SkemaPackConfig( SkemaPackConfig_stdin() ) myHtmlGetter = HtmlGetter.htmlGetter() htmlResponse = myHtmlGetter.getSkemaWithPost(myConfig.get("SkemaScraper","TeacherId"),\ myConfig.get("SkemaScraper","FirstWeek"),\ myConfig.get("SkemaScraper","LastWeek")) response = htmlResponse.read() htmlScraper = SdeSkemaScraper(DateFormat = myConfig.get("SkemaScraper","Dateformat")) htmlScraper.feed(response) try: myGmailOutput = GmailOutput_API(myConfig.get("gmail","username"),myConfig.get("gmail","Password")) except : #TODO : GmailOutput_API should raise a common exception when gdata throws gdata.service.BasAuthentication print ( "login to gmail failed - please check username and password") exit() for Appointment in htmlScraper.Appointments: myGmailOutput.addAppointment(Appointment) return 0
def ImportFile( config = None, ConfigSet = "ImportFile" ): ''' Imports events and config from file (or stdin) @param config: The config object to use. If None, then we try to use defaults or stdin @param ConfigSet: The section of the configuration to use @raise KeyError: If supplied ConfigSet is not in config @return: (events, config) or (weeksums, config) ''' # if no config supplied, use stdin if not config: # create new config object config = SkemaPackConfig( SkemaPackConfig_stdin_eal() ) # we accept non-existent section when piping from stdin else: # check if specified section is present if not config.has_section( ConfigSet ): raise KeyError("Section \"%s\" not found"%ConfigSet) # read data from file or net if not config.has_option(ConfigSet, "Infile"): FileToUse = codecs.getreader('utf8')(sys.stdin) else: filename = config.get(ConfigSet, "Infile") try: FileToUse = codecs.open( filename, 'r', 'utf-8' ) except UnicodeEncodeError: raise ValueError( u"Illegal filename supplied: %s "%filename) # read data from file or net if not config.has_option(ConfigSet, "InputDateformat"): DateFormat = "%Y-%m-%d" else: DateFormat = config.get(ConfigSet, "InputDateformat") try: # read events Events = [] for EventText in FileToUse: event = ReadString(EventText, DateFormat ) if not event: continue Events.append( event ) ret = Events except KeyError: # read weeksums ws = [] for WsText in FileToUse: event = ReadString(WsText, DateFormat ) if not event: continue ws.append( event ) ret = ws return (ret, config)
--> </style> </header> <body> %s </body> </html> ''' IndexHtmlFilename = "index.html" LinksHtmlFilename = "links.html" LinksCsvFilename = "CsvLinks.html" LinksCsvText = LinksHtmlText if __name__ == '__main__': # Read config/parameter config = SkemaPackConfig( open( sys.argv[1] ) ) # Import from skema print "Importing data from zip" events, config = ImportTfZip( config ) print "%d entries extracted"%(len(events)+1,) # building list of teachers and classes in dataset TeacherList = {} ClassList = {} for e in events: if e['Teacher'] in TeacherList.keys(): TeacherList[e['Teacher']] += 1 else: TeacherList[e['Teacher']] = 0
def testTrueFalseConfig(self): ''' SkemaPackConfig : simple read of true/false''' self.config = SkemaPackConfig(open('TrueFalseTest.cfg')) self.assertEquals(self.config.getboolean("TrueFalseTest", "ThisIsTrue"), True ) self.assertEquals(self.config.getboolean("TrueFalseTest", "ThisIsFalse"), False )
def testPrintConfig(self): ''' SkemaPackConfig : check output string ''' self.config = SkemaPackConfig(open('config_test.cfg')) configstr = str( self.config ) self.assertEqual( configstr, ConfigStringResult )
def testLoadFromHome(self): self.config = SkemaPackConfig() self.assertEquals(self.config.get("SkemaScraper", "TeacherId"), "5421", "TeacherId is not correct") self.assertEquals(self.config.get("SkemaScraper", "FirstWeek"), "33", "FirstWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "LastWeek"), "52", "LastWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "Year"), "2011", "Year is not correct")
class Test(unittest.TestCase): def setUp(self): CloneTestData() self._StartDir = ChDirToSrc() os.chdir(TempDataDir) os.chdir( ConfigWorkDir) pass def tearDown(self): ''' Removes temporary data ''' RemoveTestData() os.chdir(self._StartDir ) pass def testLoadFromFile(self): ''' SkemaPackConfig : simple read ''' self.config = SkemaPackConfig(open('config_test.cfg')) self.assertEquals(self.config.get("SkemaScraper", "TeacherId"), "5421", "TeacherId is not correct") self.assertEquals(self.config.get("SkemaScraper", "FirstWeek"), "33", "FirstWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "LastWeek"), "52", "LastWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "Year"), "2011", "Year is not correct") @unittest.skip("Skipped : (MON) How should this work?") def testLoadFromHome(self): self.config = SkemaPackConfig() self.assertEquals(self.config.get("SkemaScraper", "TeacherId"), "5421", "TeacherId is not correct") self.assertEquals(self.config.get("SkemaScraper", "FirstWeek"), "33", "FirstWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "LastWeek"), "52", "LastWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "Year"), "2011", "Year is not correct") @unittest.skip("(MON) How is this working?") def testLoadFromCurrent(self): os.system("cp config_test.cfg skemapack.cfg") self.config = SkemaPackConfig() self.assertEquals(self.config.get("SkemaScraper", "TeacherId"), "5421", "TeacherId is not correct") self.assertEquals(self.config.get("SkemaScraper", "FirstWeek"), "33", "FirstWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "LastWeek"), "52", "LastWeek is not correct") self.assertEquals(self.config.get("SkemaScraper", "Year"), "2011", "Year is not correct") os.system("rm skemapack.cfg") @unittest.skip("(MON) How is this working?") def testLoadNoFile(self): HomeFileName = os.path.expanduser("~/.skemapack/skemapack.cfg") os.system("mv %s %s.old"%(HomeFileName,HomeFileName)) print "mv %s %s.old"%(HomeFileName,HomeFileName) self.assertRaises( exceptions.ValueError, SkemaPackConfig, "" ) os.system("mv %s.old %s"%(HomeFileName,HomeFileName)) #@unittest.skip("Skipped : Errors related to file locations") def testPrintConfig(self): ''' SkemaPackConfig : check output string ''' self.config = SkemaPackConfig(open('config_test.cfg')) configstr = str( self.config ) self.assertEqual( configstr, ConfigStringResult ) def testTrueFalseConfig(self): ''' SkemaPackConfig : simple read of true/false''' self.config = SkemaPackConfig(open('TrueFalseTest.cfg')) self.assertEquals(self.config.getboolean("TrueFalseTest", "ThisIsTrue"), True ) self.assertEquals(self.config.getboolean("TrueFalseTest", "ThisIsFalse"), False ) def testSetGet(self): ''' SkemaPackConfig : simple set and read of value''' self.config = SkemaPackConfig(open('config_test.cfg')) SectionToUse = "SkemaScraper" OptionToUse = "MyVal" ValueToUse = "Test123" self.config.set( SectionToUse, OptionToUse, ValueToUse ) self.assertEquals(self.config.get(SectionToUse, OptionToUse), ValueToUse )