def create_homework(self, id, _time, name, allow_ext_list, description): try: int(time.mktime(time.strptime(_time, '%Y-%m-%d %H:%M:%S'))) except Exception: raise AttributeError('`time` should be formed like "%Y-%m-%d %H:%M:%S"') self.lock.acquire() try: res = self.load_homework(id) if res is not None: return res res = Homework(id, _time, name, allow_ext_list, description) self.homework_list.append(res) # 线程安全 finally: self.lock.release() return res
def __load_homeworks(self) -> Tuple['Homework']: from homework import Homework homeworks = [] url = base_url + '/mod/assign/index.php?id=' + self.id soup = BeautifulSoup( self.__client.session.get(url).text, 'html.parser') week_cells = soup.select('td.c0') for week_cell in week_cells: cells = week_cell.parent.select('td') week = int(week_cell.contents[0].split('주차')[0]) if len( week_cell.contents) > 0 else 0 name = cells[1].select_one('a').contents[0] deadline = cells[2].contents[0] done = cells[3].contents[0] == '제출 완료' score = cells[4].contents[0] homeworks.append(Homework(week, name, done, deadline, score)) self.__homeworks = homeworks
def retrieve_homeworks(self, user, project): print ">>> Retrieving homeworks" pulls = self.github_instance.get_user(user). \ get_repo(project).get_pulls() for pull in pulls: hw = Homework(pull.user.email, pull.user.login, project, pull.created_at, pull.get_commits(), pull.get_files()) self.homeworks.append(hw) regex = r".*challenge-week-[0-9]{1,2}/raw/[0-9a-z]{40}/[^/]+?.md$" rx = re.compile(regex) for hw in self.homeworks: for f in hw.files: result = rx.search(f.raw_url) if result is not None: hw.ans_urls.append(f.raw_url) response = urllib2.urlopen(f.raw_url) hw.ans_sheets.append(md_to_ans_form(response)) hw.set_name() hw.set_expected_score() hw.set_urls()
def test_prime_num_positive(self): prim = Homework() self.assertEqual(prim.prime_num(13), 'Tak')
def test_val_pesel_negative(self): pes = Homework() self.assertEqual(pes.val_pesel(12345678912), 'N')
def test_val_pesel_positive(self): pes = Homework() self.assertEqual(pes.val_pesel(44051401458), 'D')
def test_prime_num_negative(self): prim = Homework() self.assertEqual(prim.prime_num(6), 'Nie')
def main(args): set_global_config(Config(True)) hw = Homework(int(args[1])) print(hw.get_num_questions()) return 0
from homework import Homework app = Flask(__name__) app.config.from_object('config') app.add_url_rule('/', view_func=Index.as_view('index'), methods=['GET', 'POST']) app.add_url_rule('/changelog', view_func=Changelog.as_view('changelog'), methods=['GET']) app.add_url_rule('/homework', view_func=Homework.as_view('homework'), methods=['GET', 'POST']) app.add_url_rule('/search/', view_func=results.MainResults.as_view('results'), methods=['GET', 'POST']) app.add_url_rule('/search/<searchQuery>', view_func=results.DirectURLInput.as_view('optionalresults'), methods=['GET', 'POST']) if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')
def main(args): set_global_config(Config(True)) hw = Homework(int(args[1])) hw.generate_self_grade_form() return 0
def __load_all__(self): return \ User.load_array(self.user_filename), \ Homework.load_array(self.homework_filename), \ Statu.load_array(self.statu_filename), \ Judge.load_array(self.judge_filename)