本文整理汇总了Python中mdn.scrape.ScrapedViewFeature类的典型用法代码示例。如果您正苦于以下问题:Python ScrapedViewFeature类的具体用法?Python ScrapedViewFeature怎么用?Python ScrapedViewFeature使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ScrapedViewFeature类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_load_specification_row_empty_resources
def test_load_specification_row_empty_resources(self):
scraped_data = self.empty_scrape()
scraped_spec = {
'section.note': '',
'section.subpath': '',
'section.name': '',
'specification.mdn_key': 'CSS3 UI',
'section.id': None,
'specification.id': None}
scraped_data['specs'].append(scraped_spec)
view = ScrapedViewFeature(self.page, scraped_data)
out = view.generate_data()
spec_content, mat_content = view.new_specification(scraped_spec)
section_content = view.new_section(scraped_spec, spec_content['id'])
# TODO: bug 1251252 - Empty string should mean omittied name, subpath
section_content['name']['en'] = ''
section_content['subpath']['en'] = ''
reference_content = view.load_or_new_reference(section_content['id'])
reference_content['note'] = None
expected = self.empty_view(scraped_data)
expected['features']['links']['references'] = [reference_content['id']]
expected['linked']['maturities'] = [mat_content]
expected['linked']['specifications'] = [spec_content]
expected['linked']['sections'] = [section_content]
expected['linked']['references'] = [reference_content]
self.assertDataEqual(expected, out)
示例2: test_load_compat_table_basic_support
def test_load_compat_table_basic_support(self):
version = self.get_instance('Version', ('firefox_desktop', '1.0'))
browser = version.browser
feature = self.feature
browser_id = str(browser.id)
version_id = str(version.id)
feature_id = str(feature.id)
support_id = '_%s-%s' % (feature_id, version_id)
scraped_data = self.empty_scrape()
scraped_table = {
'name': 'desktop',
'browsers': [{
'id': browser_id, 'name': browser.name['en'],
'slug': browser.slug}],
'versions': [{
'id': version_id, 'browser': browser_id, 'version': '1.0'}],
'features': [{
'id': feature_id, 'name': 'Basic Support',
'slug': feature.slug}],
'supports': [{
'id': support_id, 'feature': feature_id, 'version': version_id,
'support': 'yes'}]}
scraped_data['compat'].append(scraped_table)
view = ScrapedViewFeature(self.page, scraped_data)
out = view.generate_data()
expected_tabs = [
{'name': {'en': 'Desktop Browsers'}, 'browsers': [browser_id]}]
self.assertEqual(expected_tabs, out['meta']['compat_table']['tabs'])
示例3: test_load_specification_row_existing_resources
def test_load_specification_row_existing_resources(self):
reference = self.get_instance(
'Reference', ('web-css-background-size', 'background-size'))
section = reference.section
spec = section.specification
scraped_spec = {
'section.note': 'new note',
'section.subpath': section.subpath['en'],
'section.name': section.name['en'],
'specification.mdn_key': spec.mdn_key,
'section.id': section.id,
'specification.id': spec.id}
scraped_data = self.empty_scrape()
scraped_data['specs'].append(scraped_spec)
view = ScrapedViewFeature(self.page, scraped_data)
out = view.generate_data()
expected = self.empty_view(scraped_data)
spec_content, mat_content = view.load_specification(spec.id)
section_content = view.load_section(section.id)
reference_content = view.load_or_new_reference(section.id)
reference_content['note'] = {'en': 'new note'}
expected['features']['links']['references'] = [reference_content['id']]
expected['linked']['maturities'] = [mat_content]
expected['linked']['specifications'] = [spec_content]
expected['linked']['sections'] = [section_content]
expected['linked']['references'] = [reference_content]
self.assertDataEqual(expected, out)
示例4: test_load_compat_table_new_support_with_note
def test_load_compat_table_new_support_with_note(self):
version = self.get_instance('Version', ('firefox_desktop', '1.0'))
browser = version.browser
feature = self.get_instance(
'Feature', 'web-css-background-size-contain_and_cover')
browser_id = str(browser.id)
version_id = str(version.id)
feature_id = str(feature.id)
support_id = '_%s-%s' % (feature_id, version_id)
scraped_data = self.empty_scrape()
scraped_table = {
'name': 'desktop',
'browsers': [{
'id': browser_id, 'name': browser.name['en'],
'slug': browser.slug}],
'versions': [{
'id': version_id, 'browser': browser_id, 'version': '1.0'}],
'features': [{
'id': feature_id, 'name': feature.name['en'],
'slug': feature.slug}],
'supports': [{
'id': support_id, 'feature': feature_id, 'version': version_id,
'support': 'yes', 'footnote': 'Footnote'}]}
scraped_data['compat'].append(scraped_table)
view = ScrapedViewFeature(self.page, scraped_data)
out = view.generate_data()
self.assertEqual(1, out['meta']['compat_table']['notes'][support_id])
示例5: test_load_compat_table_basic_support
def test_load_compat_table_basic_support(self):
version = self.get_instance("Version", ("firefox_desktop", "1.0"))
browser = version.browser
feature = self.feature
browser_id = str(browser.id)
version_id = str(version.id)
feature_id = str(feature.id)
support_id = "_%s-%s" % (feature_id, version_id)
scraped_data = self.empty_scrape()
scraped_table = {
"name": "desktop",
"browsers": [{"id": browser_id, "name": browser.name["en"], "slug": browser.slug}],
"versions": [{"id": version_id, "browser": browser_id, "version": "1.0"}],
"features": [{"id": feature_id, "name": "Basic Support", "slug": feature.slug}],
"supports": [{"id": support_id, "feature": feature_id, "version": version_id, "support": "yes"}],
}
scraped_data["compat"].append(scraped_table)
view = ScrapedViewFeature(self.page, scraped_data)
out = view.generate_data()
expected = self.empty_view(scraped_data)
expected["linked"]["browsers"].append(view.load_browser(browser.id))
expected["linked"]["versions"].append(view.load_version(version.id))
support_content = view.new_support(scraped_table["supports"][0])
expected["linked"]["supports"].append(support_content)
expected["meta"]["compat_table"]["supports"][feature_id] = {browser_id: [support_id]}
expected["meta"]["compat_table"]["tabs"].append({"name": {"en": "Desktop Browsers"}, "browsers": [browser_id]})
self.assertDataEqual(expected, out)
示例6: test_load_compat_table_unicode_feature_name
def test_load_compat_table_unicode_feature_name(self):
# https://developer.mozilla.org/en-US/docs/Web/CSS/timing-function
browser_id = '_Firefox (Gecko)'
version_id = '_Firefox-1.0'
feature_id = '_cubic-bezier() w/ ordinate ∉[0,1]'
support_id = '_%s-%s' % (feature_id, version_id)
scraped_data = self.empty_scrape()
scraped_table = {
'name': 'desktop',
'browsers': [{
'id': browser_id, 'name': 'Firefox',
'slug': '_Firefox (Gecko)'}],
'versions': [{
'id': version_id, 'browser': browser_id, 'version': '1.0'}],
'features': [{
'id': feature_id,
'name': '<code>cubic-bezier()</code> w/ ordinate ∉[0,1]',
'slug': 'web-css-background-size_unicode'}],
'supports': [{
'id': support_id, 'feature': feature_id, 'version': version_id,
'support': 'yes'}]}
scraped_data['compat'].append(scraped_table)
view = ScrapedViewFeature(self.page, scraped_data)
out = view.generate_data()
self.assertEqual(feature_id, out['linked']['features'][0]['id'])
示例7: test_load_browser
def test_load_browser(self):
browser = self.get_instance('Browser', 'firefox_desktop')
view = ScrapedViewFeature(self.page, self.empty_scrape())
browser_content = view.load_browser(browser.id)
expected = {
'id': str(browser.id), 'name': {'en': 'Firefox for Desktop'},
'note': None, 'slug': browser.slug}
self.assertDataEqual(expected, browser_content)
示例8: test_load_section
def test_load_section(self):
section = self.get_instance('Section', 'background-size')
view = ScrapedViewFeature(self.page, self.empty_scrape())
section_content = view.load_section(section.id)
expected = {
'id': str(section.id), 'name': section.name,
'number': None, 'subpath': section.subpath,
'links': {'specification': str(section.specification.id)}}
self.assertDataEqual(expected, section_content)
示例9: test_load_version
def test_load_version(self):
version = self.get_instance('Version', ('firefox_desktop', '1.0'))
view = ScrapedViewFeature(self.page, self.empty_scrape())
version_content = view.load_version(version.id)
expected = {
'id': str(version.id), 'version': '1.0', 'status': 'unknown',
'note': None, 'release_day': None, 'retirement_day': None,
'release_notes_uri': None, 'order': 0,
'links': {'browser': str(version.browser_id)}}
self.assertDataEqual(expected, version_content)
示例10: test_new_browser
def test_new_browser(self):
browser_entry = {
'id': '_Firefox (Gecko)', 'name': 'Firefox',
'slug': '_Firefox (Gecko)'}
view = ScrapedViewFeature(self.page, self.empty_scrape())
browser_content = view.new_browser(browser_entry)
expected = {
'id': '_Firefox (Gecko)', 'name': {'en': 'Firefox'}, 'note': None,
'slug': ''}
self.assertDataEqual(expected, browser_content)
示例11: test_new_nightly_version
def test_new_nightly_version(self):
version_entry = {
'id': '_version', 'browser': '_browser', 'version': 'nightly'}
view = ScrapedViewFeature(self.page, self.empty_scrape())
version_content = view.new_version(version_entry)
expected = {
'id': '_version', 'version': 'nightly', 'status': 'future',
'note': None, 'release_day': None, 'retirement_day': None,
'release_notes_uri': None,
'links': {'browser': '_browser'}}
self.assertDataEqual(expected, version_content)
示例12: test_load_section
def test_load_section(self):
section = self.get_instance("Section", "background-size")
view = ScrapedViewFeature(self.page, self.empty_scrape())
section_content = view.load_section(section.id)
expected = {
"id": str(section.id),
"name": section.name,
"note": {},
"number": None,
"subpath": section.subpath,
"links": {"specification": str(section.specification.id)},
}
self.assertDataEqual(expected, section_content)
示例13: test_new_support_with_note
def test_new_support_with_note(self):
support_entry = {
'id': '_support', 'feature': '_feature', 'version': '_version',
'support': 'yes', 'footnote': 'The Footnote'}
view = ScrapedViewFeature(self.page, self.empty_scrape())
support_content = view.new_support(support_entry)
expected = {
'id': '_support', 'support': 'yes', 'note': {'en': 'The Footnote'},
'prefix': None, 'prefix_mandatory': False, 'protected': False,
'requires_config': None, 'default_config': None,
'alternate_name': None, 'alternate_mandatory': False,
'links': {'feature': '_feature', 'version': '_version'}}
self.assertDataEqual(expected, support_content)
示例14: test_load_support
def test_load_support(self):
version = self.get_instance('Version', ('firefox_desktop', '1.0'))
feature = self.get_instance(
'Feature', 'web-css-background-size-contain_and_cover')
support = self.create(Support, version=version, feature=feature)
view = ScrapedViewFeature(self.page, self.empty_scrape())
support_content = view.load_support(support.id)
expected = {
'id': str(support.id), 'support': 'yes', 'note': None,
'prefix': None, 'prefix_mandatory': False, 'protected': False,
'requires_config': None, 'default_config': None,
'alternate_name': None, 'alternate_mandatory': False,
'links': {'feature': str(feature.id), 'version': str(version.id)}}
self.assertDataEqual(expected, support_content)
示例15: test_load_feature
def test_load_feature(self):
feature = self.get_instance(
'Feature', 'web-css-background-size-contain_and_cover')
view = ScrapedViewFeature(self.page, self.empty_scrape())
feature_content = view.load_feature(feature.id)
expected = {
'id': str(feature.id),
'name': {'en': '<code>contain</code> and <code>cover</code>'},
'slug': feature.slug, 'mdn_uri': None, 'obsolete': False,
'stable': True, 'standardized': True, 'experimental': False,
'links': {
'children': [], 'parent': str(self.feature.id),
'references': [], 'supports': []}}
self.assertDataEqual(expected, feature_content)