File: itemadapter.py

package info (click to toggle)
python-web-poet 0.23.2-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 908 kB
  • sloc: python: 6,112; makefile: 19
file content (28 lines) | stat: -rw-r--r-- 655 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from __future__ import annotations

from collections import deque

from itemadapter import ItemAdapter
from itemadapter.adapter import (
    AdapterInterface,
    AttrsAdapter,
    DataclassAdapter,
    DictAdapter,
    PydanticAdapter,
    ScrapyItemAdapter,
)


class WebPoetTestItemAdapter(ItemAdapter):
    """A default adapter implementation"""

    # In case the user changes ItemAdapter.ADAPTER_CLASSES it's copied here.
    ADAPTER_CLASSES: deque[type[AdapterInterface]] = deque(
        [
            ScrapyItemAdapter,
            DictAdapter,
            DataclassAdapter,
            AttrsAdapter,
            PydanticAdapter,
        ]
    )