예제 #1
0
 def test_py26_fallback_on_ordereddict(self):
     p = soup("""<p><b>a</b> 1<br/>
             <b>b</b> 2 <b>c</b> 3""").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('a', '1'), ('b', '2'), ('c', '3')],
                              list(defs.items()))
     self.assertEqual(True, getattr(defs, '_fake', False))
예제 #2
0
 def test_py26_fallback_on_ordereddict(self):
     p = soup("""<p><b>a</b> 1<br/>
             <b>b</b> 2 <b>c</b> 3""").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('a', '1'), ('b', '2'), ('c', '3')],
             list(defs.items()))
     self.assertEqual(True, getattr(defs, '_fake', False))
예제 #3
0
 def populate(self, soup, session, **kw):
     content = soup.select('#courseRightContent')[0]
     attrs = parse_homemade_dl(content.select('p small')[0])
     self.title = attrs.get('titre')
     self.begin = attrs.get('du')
     self.end = attrs.get('au')
     self.submission_type = attrs.get('type de soumission')
     self.work_type = attrs.get('type de travail')
     self.visibility = attrs.get(u'visibilit\xe9 de la soumission')
     self.assig_id = parse_query(self.path)['assigId'][0]
예제 #4
0
파일: courses.py 프로젝트: tsalmon/didelcli
 def populate(self, soup, session, **kw):
     content = soup.select('#courseRightContent')[0]
     attrs = parse_homemade_dl(content.select('p small')[0])
     self.title = attrs.get('titre')
     self.begin = attrs.get('du')
     self.end = attrs.get('au')
     self.submission_type = attrs.get('type de soumission')
     self.work_type = attrs.get('type de travail')
     self.visibility = attrs.get(u'visibilit\xe9 de la soumission')
     self.assig_id = parse_qs(urlparse(self.path).query)['assigId'][0]
예제 #5
0
 def test_parse_homemade_dl_with_colon_in_key(self):
     p = soup("<p><b>yo :</b> FOO</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('yo :', 'FOO')], list(defs.items()))
예제 #6
0
 def test_parse_homemade_dl_uppercase_value(self):
     p = soup("<p><b>yo</b> FOO</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('yo', 'FOO')], list(defs.items()))
예제 #7
0
 def test_parse_homemade_dl_uppercase_key(self):
     p = soup("<p><b>Yo</b> foo</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('yo', 'foo')], list(defs.items()))
예제 #8
0
 def test_parse_homemade_dl_one_def_child_value(self):
     p = soup("<p>yo <b>foo</b> <i>bar</i></p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('foo', 'bar')], list(defs.items()))
예제 #9
0
 def test_parse_homemade_dl_def_no_val(self):
     p = soup("<p>yo <b>title:</b></p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([], list(defs.items()))
예제 #10
0
 def test_parse_homemade_dl_no_defs2(self):
     p = soup("<p>very <i>simple</i> text.</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([], list(defs.items()))
예제 #11
0
 def test_parse_homemade_dl_one_def_child_value(self):
     p = soup("<p>yo <b>foo</b> <i>bar</i></p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('foo', 'bar')], list(defs.items()))
예제 #12
0
 def test_parse_homemade_dl_no_defs(self):
     p = BeautifulSoup("<p>simple text.</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([], list(defs.items()))
예제 #13
0
 def test_parse_homemade_dl_no_defs2(self):
     p = soup("<p>very <i>simple</i> text.</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([], list(defs.items()))
예제 #14
0
 def test_parse_homemade_dl(self):
     p = soup("""<p><b>a</b> 1<br/>
             <b>b</b> 2 <b>c</b> 3""").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('a', '1'), ('b', '2'), ('c', '3')],
                              list(defs.items()))
예제 #15
0
 def test_parse_homemade_dl_with_colon_in_key(self):
     p = soup("<p><b>yo :</b> FOO</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('yo :', 'FOO')], list(defs.items()))
예제 #16
0
 def test_parse_homemade_dl_uppercase_value(self):
     p = soup("<p><b>yo</b> FOO</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('yo', 'FOO')], list(defs.items()))
예제 #17
0
 def test_parse_homemade_dl_uppercase_key(self):
     p = soup("<p><b>Yo</b> foo</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('yo', 'foo')], list(defs.items()))
예제 #18
0
 def test_parse_homemade_dl(self):
     p = soup("""<p><b>a</b> 1<br/>
             <b>b</b> 2 <b>c</b> 3""").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([('a', '1'), ('b', '2'), ('c', '3')],
             list(defs.items()))
예제 #19
0
 def test_parse_homemade_dl_no_defs(self):
     p = BeautifulSoup("<p>simple text.</p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([], list(defs.items()))
예제 #20
0
 def test_parse_homemade_dl_def_no_val(self):
     p = soup("<p>yo <b>title:</b></p>").select('p')[0]
     defs = parse_homemade_dl(p)
     self.assertSequenceEqual([], list(defs.items()))