Example #1
0
 def test_3(self):
     result = self.g.doc.structure(
         '//issue',
         home_url='./home-url/text()',
         articles=x(
             './articles/article',
             id='./@id',
             title='./title/text()',
             url='./url/text()',
             hotkeys=x(
                 './hotkeys',
                 hotkey='./hotkey/text()'
             )
         )
     )
     self.assertEqual(
         result,
         loads('''
             [
                 {
                     "articles": [
                         {
                             "url": "/article1",
                             "id": "3",
                             "hotkeys": [
                                 {
                                     "hotkey": "language"
                                 }
                             ],
                             "title": "Issue overview"
                         },
                         {
                             "url": "/article2",
                             "id": null,
                             "hotkeys": [
                                 {
                                     "hotkey": null
                                 }
                             ],
                             "title": "Latest reviews"
                         },
                         {
                             "url": null,
                             "id": "4",
                             "hotkeys": [
                                 {
                                     "hotkey": null
                                 }
                             ],
                             "title": null
                         }
                     ],
                     "home_url": "www.j.ru/issues/"
                 }
             ]
         ''')
     )
Example #2
0
 def test_3(self):
     result = self.grab.doc.structure(
         '//issue',
         home_url='./home-url/text()',
         articles=x(
             './articles/article',
             id='./@id',
             title='./title/text()',
             url='./url/text()',
             hotkeys=x(
                 './hotkeys',
                 hotkey='./hotkey/text()'
             )
         )
     )
     self.assertEqual(
         result,
         loads('''
             [
                 {
                     "articles": [
                         {
                             "url": "/article1",
                             "id": "3",
                             "hotkeys": [
                                 {
                                     "hotkey": "language"
                                 }
                             ],
                             "title": "Issue overview"
                         },
                         {
                             "url": "/article2",
                             "id": null,
                             "hotkeys": [
                                 {
                                     "hotkey": null
                                 }
                             ],
                             "title": "Latest reviews"
                         },
                         {
                             "url": null,
                             "id": "4",
                             "hotkeys": [
                                 {
                                     "hotkey": null
                                 }
                             ],
                             "title": null
                         }
                     ],
                     "home_url": "www.j.ru/issues/"
                 }
             ]
         ''')
     )
Example #3
0
 def test_2(self):
     result = self.g.doc.structure(
         '//issue',
         x(
             './detail',
             description=('./description/text()',
                          lambda item: ' '.join(item.split())),
             detail_number=('./number/text()', int)
         ),
         title='./title/text()',
         date='./date/text()',
     )
     self.assertEqual(
         result,
         loads('''
             [
                 {
                     "detail_number": 445,
                     "date": "12.09.98",
                     "description": "issue 2 detail description",
                     "title": "XML today"
                 }
             ]
         ''')
     )
Example #4
0
 def test_2(self):
     result = self.grab.doc.structure(
         '//issue',
         x(
             './detail',
             description=('./description/text()',
                          lambda item: ' '.join(item.split())),
             detail_number=('./number/text()', int)
         ),
         title='./title/text()',
         date='./date/text()',
     )
     self.assertEqual(
         result,
         loads('''
             [
                 {
                     "detail_number": 445,
                     "date": "12.09.98",
                     "description": "issue 2 detail description",
                     "title": "XML today"
                 }
             ]
         ''')
     )