コード例 #1
0
	scopes: Optional[Union[Json, dict, list]] = []
	questions: Set[Union[int, Question]] = []
	date_of_birth: date
	about_program: Optional[str] = None
	direction: Optional[str] = None


	@validator("date_of_birth", pre=True, always=True)
	def date_of_birth_to_date_validator(cls, value):
		return PydanticValidators.date(cls, value)

	class Config:
		orm_mode = True


class UserWork(BaseModel):
	task: Union[int, Task]
	work: Optional[str] = ''

	class Config:
		orm_mode = True


User.update_forward_refs()
UserWork.update_forward_refs()


if __name__ == '__main__':
	from os import chdir

	chdir(HOME_DIR)
from typing import ForwardRef
from pydantic import BaseModel

Foo = ForwardRef('Foo')


class Foo(BaseModel):
    a: int = 123
    b: Foo = None


Foo.update_forward_refs()

print(Foo())
print(Foo(b={'a': '321'}))
コード例 #3
0
    human_contacts: Union[int, HumanContacts, None] = None
    photo: Optional[str] = ''
    status: Optional[str] = ''
    description: Optional[str] = ''
    scopes: Optional[Union[Json, dict, list]] = []
    questions: Set[Union[int, Question]] = []

    class Config:
        orm_mode = True


class HumanContacts(BaseModel):
    phone: Optional[str] = ''
    vk: Optional[str] = ''
    insagramm: Optional[str] = ''
    facebook: Optional[str] = ''
    telegram: Optional[str] = ''
    home_adress: Optional[str] = ''

    class Config:
        orm_mode = True


Admin.update_forward_refs()
Developer.update_forward_refs()
HumanContacts.update_forward_refs()

if __name__ == '__main__':
    from os import chdir

    chdir(HOME_DIR)
コード例 #4
0
from app.pydantic_models.gen.output_ent import Direction
from app.pydantic_models.gen.output_ent import Human
from app.pydantic_models.gen.output_ent import News
from app.pydantic_models.gen.output_ent import Developer
from app.settings.config import HOME_DIR


Question = ForwardRef("Question")



class Question(BaseModel):
	question_title: Optional[str] = ''
	question: str
	pages: Set[Union[int, Page]] = []
	answer_email: Optional[str] = ''
	human: Union[int, Human, None] = None
	was_read: bool = False
	was_answered: bool = False

	class Config:
		orm_mode = True


Question.update_forward_refs()


if __name__ == '__main__':
	from os import chdir

	chdir(HOME_DIR)
コード例 #5
0
    id: int
    page_url: Optional[str] = ''
    page_path: Optional[str] = ''
    is_header: bool = False
    visible: bool = False
    root_page: Union[int, Page, None] = None
    child_pages: Set[Union[int, Page]] = []
    title: Optional[str] = ''
    questions: Set[Union[int, Question]] = []
    page_type: Optional[str] = ''
    auto_publish: Optional[datetime] = None
    image: Optional[str] = None
    author: Optional[str] = None
    description: Optional[str] = None

    @validator("auto_publish", pre=True, always=True)
    def auto_publish_to_datetime_validator(cls, value):
        return PydanticValidators.datetime(cls, value)

    class Config:
        orm_mode = True


Smm.update_forward_refs()
Page.update_forward_refs()
News.update_forward_refs()

if __name__ == '__main__':
    from os import chdir

    chdir(HOME_DIR)
コード例 #6
0

class Criterion(BaseModel):
    task: Union[int, Task]
    name: str
    description: Optional[str] = ''
    max_value: Optional[float] = None

    class Config:
        orm_mode = True


class MarkWork(BaseModel):
    criterion: Union[int, Criterion]
    user_work: Union[Tuple[int, int], UserWork]
    value: int

    class Config:
        orm_mode = True


DirectionExpert.update_forward_refs()
Task.update_forward_refs()
UserWork.update_forward_refs()
Criterion.update_forward_refs()
MarkWork.update_forward_refs()

if __name__ == '__main__':
    from os import chdir

    chdir(HOME_DIR)
コード例 #7
0
    questions: Set[Union[int, Question]] = []
    page_type: Optional[str] = ''
    auto_publish: Optional[datetime] = None
    image: Optional[str] = None
    author: Optional[str] = None
    description: Optional[str] = None

    @validator("auto_publish", pre=True, always=True)
    def auto_publish_to_datetime_validator(cls, value):
        return PydanticValidators.datetime(cls, value)

    class Config:
        orm_mode = True


Human.update_forward_refs()
Admin.update_forward_refs()
User.update_forward_refs()
Smm.update_forward_refs()
Developer.update_forward_refs()
HumanContacts.update_forward_refs()
DirectionExpert.update_forward_refs()
Competition.update_forward_refs()
Direction.update_forward_refs()
CompetitionDirection.update_forward_refs()
Task.update_forward_refs()
UserWork.update_forward_refs()
Criterion.update_forward_refs()
MarkWork.update_forward_refs()
Page.update_forward_refs()
Question.update_forward_refs()
コード例 #8
0
ファイル: schemas.py プロジェクト: ReporterOne/reporter
class UserAuth(User):
    username: str
    password: str


Hierarchy = ForwardRef('Hierarchy')


class Hierarchy(BaseModel):
    """"Hierarchy for User and Commander."""
    leader: Optional[int]
    childs: List[Hierarchy]  # list of Hierarchy.


Hierarchy.update_forward_refs()


class StatusTypes(str, Enum):
    required = "required"
    not_required = "not_required"
    not_important = "not_important"


class DateDetails(BaseModel):
    date: date
    type: str = None

    # TODO: when [BUG] SQLAlchemy Exception
    # when using Enums and jsonable_encoder
    # will be solved, puth the type to be StatusTypes
コード例 #9
0
class WalletRefillResponse(BaseModel):
    uuid: UUID4


class WalletRefillRequest(BaseModel):
    channel: str
    amount: Decimal


class WalletTransferRequest(WalletRefillRequest):
    transfer_wallet_id: int


Transaction = ForwardRef("Transaction")


class Transaction(BaseModel):
    id: int
    amount: Decimal
    currency: str
    created_at: datetime
    transaction_type: str
    wallet_id: int
    transfer_transaction: Transaction = None

    class Config:
        orm_mode = True


Transaction.update_forward_refs()
コード例 #10
0
ファイル: types.py プロジェクト: jackharrhy/muntrunk
            subject=subject,
            number=piece["course"]["number"],
            name=piece["course"]["name"],
            sections=[],
            meta=[],
        )


class Semester(BaseModel):
    year: int
    term: int
    level: int
    courses: List[Course]


Campus.update_forward_refs()
Building.update_forward_refs()


@dataclass
class Types:
    course: Any = None
    section: Any = None
    slot: Any = None


def types_from_piece(valid, piece):
    types = Types(None, None, None)

    if valid.course:
        types.course = Course.from_piece(piece)
コード例 #11
0
    fail_fast: bool = False


class InParallel(BaseModel):
    in_parallel: Union[List[Step], InParallelConfig]

    # Common fields,
    timeout: Optional[str] = None
    attempts: Optional[Union[Var, int]] = None
    tags: Optional[List[str]] = None
    on_success: Optional[Step] = None
    on_failure: Optional[Step] = None
    on_abort: Optional[Step] = None
    on_error: Optional[Step] = None
    ensure: Optional[Step] = None


# https://pydantic-docs.helpmanual.io/usage/postponed_annotations/
Get.update_forward_refs()
Put.update_forward_refs()
Task.update_forward_refs()
SetPipeline.update_forward_refs()
Do.update_forward_refs()
Try.update_forward_refs()
InParallelConfig.update_forward_refs()
InParallel.update_forward_refs()
LoadVar.update_forward_refs()

# Redefine step with set up models (update_forward_refs)
Step = Union[Get, Put, Task, SetPipeline, Do, Try, InParallel, LoadVar]
コード例 #12
0
ファイル: schemav1.py プロジェクト: lgray/correctionlib
class MultiBinning(Model):
    """N-dimensional rectangular binning"""

    nodetype: Literal["multibinning"]
    edges: List[List[float]]
    "Bin edges for each input"
    content: List[Content]


class Category(Model):
    nodetype: Literal["category"]
    keys: List[Union[str,int]]
    content: List[Content]


Binning.update_forward_refs()
MultiBinning.update_forward_refs()
Category.update_forward_refs()


class Correction(Model):
    name: str
    "A useful name"
    description: Optional[str]
    "Detailed description of the correction"
    version: int
    "Version"
    inputs: List[Variable]
    output: Variable
    data: Content