vectorize_client.models.sharepoint_config

Vectorize API

API for Vectorize services (Beta)

The version of the OpenAPI document: 0.1.2 Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.

 1# coding: utf-8
 2
 3"""
 4    Vectorize API
 5
 6    API for Vectorize services (Beta)
 7
 8    The version of the OpenAPI document: 0.1.2
 9    Generated by OpenAPI Generator (https://openapi-generator.tech)
10
11    Do not edit the class manually.
12"""  # noqa: E501
13
14
15from __future__ import annotations
16import pprint
17import re  # noqa: F401
18import json
19
20from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21from typing import Any, ClassVar, Dict, List, Optional
22from typing import Optional, Set
23from typing_extensions import Self
24
25class SHAREPOINTConfig(BaseModel):
26    """
27    Configuration for SharePoint connector
28    """ # noqa: E501
29    file_extensions: List[StrictStr] = Field(description="File Extensions", alias="file-extensions")
30    sites: Optional[List[StrictStr]] = Field(default=None, description="Site Name(s). Example: Filter by site name. All sites if empty.")
31    folder_path: Optional[StrictStr] = Field(default=None, description="Read starting from this folder (optional). Example: Enter Folder path: /exampleFolder/subFolder", alias="folder-path")
32    __properties: ClassVar[List[str]] = ["file-extensions", "sites", "folder-path"]
33
34    @field_validator('file_extensions')
35    def file_extensions_validate_enum(cls, value):
36        """Validates the enum"""
37        for i in value:
38            if i not in set(['pdf', 'doc,docx,gdoc,odt,rtf,epub', 'ppt,pptx,gslides', 'xls,xlsx,gsheets,ods', 'eml,msg', 'txt', 'html,htm', 'jpg,jpeg,png,webp,svg,gif', 'json', 'csv']):
39                raise ValueError("each list item must be one of ('pdf', 'doc,docx,gdoc,odt,rtf,epub', 'ppt,pptx,gslides', 'xls,xlsx,gsheets,ods', 'eml,msg', 'txt', 'html,htm', 'jpg,jpeg,png,webp,svg,gif', 'json', 'csv')")
40        return value
41
42    model_config = ConfigDict(
43        populate_by_name=True,
44        validate_assignment=True,
45        protected_namespaces=(),
46    )
47
48
49    def to_str(self) -> str:
50        """Returns the string representation of the model using alias"""
51        return pprint.pformat(self.model_dump(by_alias=True))
52
53    def to_json(self) -> str:
54        """Returns the JSON representation of the model using alias"""
55        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56        return json.dumps(self.to_dict())
57
58    @classmethod
59    def from_json(cls, json_str: str) -> Optional[Self]:
60        """Create an instance of SHAREPOINTConfig from a JSON string"""
61        return cls.from_dict(json.loads(json_str))
62
63    def to_dict(self) -> Dict[str, Any]:
64        """Return the dictionary representation of the model using alias.
65
66        This has the following differences from calling pydantic's
67        `self.model_dump(by_alias=True)`:
68
69        * `None` is only added to the output dict for nullable fields that
70          were set at model initialization. Other fields with value `None`
71          are ignored.
72        """
73        excluded_fields: Set[str] = set([
74        ])
75
76        _dict = self.model_dump(
77            by_alias=True,
78            exclude=excluded_fields,
79            exclude_none=True,
80        )
81        return _dict
82
83    @classmethod
84    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85        """Create an instance of SHAREPOINTConfig from a dict"""
86        if obj is None:
87            return None
88
89        if not isinstance(obj, dict):
90            return cls.model_validate(obj)
91
92        _obj = cls.model_validate({
93            "file-extensions": obj.get("file-extensions"),
94            "sites": obj.get("sites"),
95            "folder-path": obj.get("folder-path")
96        })
97        return _obj
class SHAREPOINTConfig(pydantic.main.BaseModel):
26class SHAREPOINTConfig(BaseModel):
27    """
28    Configuration for SharePoint connector
29    """ # noqa: E501
30    file_extensions: List[StrictStr] = Field(description="File Extensions", alias="file-extensions")
31    sites: Optional[List[StrictStr]] = Field(default=None, description="Site Name(s). Example: Filter by site name. All sites if empty.")
32    folder_path: Optional[StrictStr] = Field(default=None, description="Read starting from this folder (optional). Example: Enter Folder path: /exampleFolder/subFolder", alias="folder-path")
33    __properties: ClassVar[List[str]] = ["file-extensions", "sites", "folder-path"]
34
35    @field_validator('file_extensions')
36    def file_extensions_validate_enum(cls, value):
37        """Validates the enum"""
38        for i in value:
39            if i not in set(['pdf', 'doc,docx,gdoc,odt,rtf,epub', 'ppt,pptx,gslides', 'xls,xlsx,gsheets,ods', 'eml,msg', 'txt', 'html,htm', 'jpg,jpeg,png,webp,svg,gif', 'json', 'csv']):
40                raise ValueError("each list item must be one of ('pdf', 'doc,docx,gdoc,odt,rtf,epub', 'ppt,pptx,gslides', 'xls,xlsx,gsheets,ods', 'eml,msg', 'txt', 'html,htm', 'jpg,jpeg,png,webp,svg,gif', 'json', 'csv')")
41        return value
42
43    model_config = ConfigDict(
44        populate_by_name=True,
45        validate_assignment=True,
46        protected_namespaces=(),
47    )
48
49
50    def to_str(self) -> str:
51        """Returns the string representation of the model using alias"""
52        return pprint.pformat(self.model_dump(by_alias=True))
53
54    def to_json(self) -> str:
55        """Returns the JSON representation of the model using alias"""
56        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
57        return json.dumps(self.to_dict())
58
59    @classmethod
60    def from_json(cls, json_str: str) -> Optional[Self]:
61        """Create an instance of SHAREPOINTConfig from a JSON string"""
62        return cls.from_dict(json.loads(json_str))
63
64    def to_dict(self) -> Dict[str, Any]:
65        """Return the dictionary representation of the model using alias.
66
67        This has the following differences from calling pydantic's
68        `self.model_dump(by_alias=True)`:
69
70        * `None` is only added to the output dict for nullable fields that
71          were set at model initialization. Other fields with value `None`
72          are ignored.
73        """
74        excluded_fields: Set[str] = set([
75        ])
76
77        _dict = self.model_dump(
78            by_alias=True,
79            exclude=excluded_fields,
80            exclude_none=True,
81        )
82        return _dict
83
84    @classmethod
85    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86        """Create an instance of SHAREPOINTConfig from a dict"""
87        if obj is None:
88            return None
89
90        if not isinstance(obj, dict):
91            return cls.model_validate(obj)
92
93        _obj = cls.model_validate({
94            "file-extensions": obj.get("file-extensions"),
95            "sites": obj.get("sites"),
96            "folder-path": obj.get("folder-path")
97        })
98        return _obj

Configuration for SharePoint connector

file_extensions: List[Annotated[str, Strict(strict=True)]]
sites: Optional[List[Annotated[str, Strict(strict=True)]]]
folder_path: Optional[Annotated[str, Strict(strict=True)]]
@field_validator('file_extensions')
def file_extensions_validate_enum(cls, value):
35    @field_validator('file_extensions')
36    def file_extensions_validate_enum(cls, value):
37        """Validates the enum"""
38        for i in value:
39            if i not in set(['pdf', 'doc,docx,gdoc,odt,rtf,epub', 'ppt,pptx,gslides', 'xls,xlsx,gsheets,ods', 'eml,msg', 'txt', 'html,htm', 'jpg,jpeg,png,webp,svg,gif', 'json', 'csv']):
40                raise ValueError("each list item must be one of ('pdf', 'doc,docx,gdoc,odt,rtf,epub', 'ppt,pptx,gslides', 'xls,xlsx,gsheets,ods', 'eml,msg', 'txt', 'html,htm', 'jpg,jpeg,png,webp,svg,gif', 'json', 'csv')")
41        return value

Validates the enum

model_config = {'populate_by_name': True, 'validate_assignment': True, 'protected_namespaces': (), 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

def to_str(self) -> str:
50    def to_str(self) -> str:
51        """Returns the string representation of the model using alias"""
52        return pprint.pformat(self.model_dump(by_alias=True))

Returns the string representation of the model using alias

def to_json(self) -> str:
54    def to_json(self) -> str:
55        """Returns the JSON representation of the model using alias"""
56        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
57        return json.dumps(self.to_dict())

Returns the JSON representation of the model using alias

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
59    @classmethod
60    def from_json(cls, json_str: str) -> Optional[Self]:
61        """Create an instance of SHAREPOINTConfig from a JSON string"""
62        return cls.from_dict(json.loads(json_str))

Create an instance of SHAREPOINTConfig from a JSON string

def to_dict(self) -> Dict[str, Any]:
64    def to_dict(self) -> Dict[str, Any]:
65        """Return the dictionary representation of the model using alias.
66
67        This has the following differences from calling pydantic's
68        `self.model_dump(by_alias=True)`:
69
70        * `None` is only added to the output dict for nullable fields that
71          were set at model initialization. Other fields with value `None`
72          are ignored.
73        """
74        excluded_fields: Set[str] = set([
75        ])
76
77        _dict = self.model_dump(
78            by_alias=True,
79            exclude=excluded_fields,
80            exclude_none=True,
81        )
82        return _dict

Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's self.model_dump(by_alias=True):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84    @classmethod
85    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86        """Create an instance of SHAREPOINTConfig from a dict"""
87        if obj is None:
88            return None
89
90        if not isinstance(obj, dict):
91            return cls.model_validate(obj)
92
93        _obj = cls.model_validate({
94            "file-extensions": obj.get("file-extensions"),
95            "sites": obj.get("sites"),
96            "folder-path": obj.get("folder-path")
97        })
98        return _obj

Create an instance of SHAREPOINTConfig from a dict