Skip to content

Commit

Permalink
feat: add email module
Browse files Browse the repository at this point in the history
  • Loading branch information
mtshiba committed Jun 22, 2024
1 parent eb061f7 commit f299962
Show file tree
Hide file tree
Showing 8 changed files with 146 additions and 0 deletions.
7 changes: 7 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/__init__.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.contentmanager = pyimport "./contentmanager"
.errors = pyimport "./errors"
.generator = pyimport "./generator"
.headerregistry = pyimport "./headerregistry"
.message = pyimport "./message"
.parser = pyimport "./parser"
.policy = pyimport "./policy"
5 changes: 5 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/contentmanager.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{Message!;} = pyimport "./message"

.ContentManager: ClassType

.set_text_content!: (msg: Message!, string: Str, subtype := Str) => NoneType
74 changes: 74 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/errors.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
.MessageError: ClassType
.MessageError <: Exception

.MessageParseError: ClassType
.MessageParseError <: MessageError

.HeaderParseError: ClassType
.HeaderParseError <: MessageParseError

.BoundaryError: ClassType
.BoundaryError <: MessageParseError

.MultipartConversionError: ClassType
.MultipartConversionError <: MessageError

.CharsetError: ClassType
.CharsetError <: MessageError

.MessageDefect: ClassType
.MessageDefect <: ValueError

.NoBoundaryInMultipartDefect: ClassType
.NoBoundaryInMultipartDefect <: MessageDefect

.StartBoundaryNotFoundDefect: ClassType
.StartBoundaryNotFoundDefect <: MessageDefect

.ClosedBoundaryNotFoundDefect: ClassType
.ClosedBoundaryNotFoundDefect <: MessageDefect

.FirstHeaderLineIsContinuationDefect: ClassType
.FirstHeaderLineIsContinuationDefect <: MessageDefect

.MisplacedEnvelopeHeaderDefect: ClassType
.MisplacedEnvelopeHeaderDefect <: MessageDefect

.MultipartInvariantViolationDefect: ClassType
.MultipartInvariantViolationDefect <: MessageDefect

.InvalidMultipartContentTransferEncodingDefect: ClassType
.InvalidMultipartContentTransferEncodingDefect <: MessageDefect

.UndecodableBytesDefect: ClassType
.UndecodableBytesDefect <: MessageDefect

.InvalidBase64PaddingDefect: ClassType
.InvalidBase64PaddingDefect <: MessageDefect

.InvalidBase64CharactersDefect: ClassType
.InvalidBase64CharactersDefect <: MessageDefect

.InvalidBase64LengthDefect: ClassType
.InvalidBase64LengthDefect <: MessageDefect

.HeaderDefect: ClassType
.HeaderDefect <: MessageDefect

.InvalidHeaderDefect: ClassType
.InvalidHeaderDefect <: HeaderDefect

.HeaderMissingRequiredValue: ClassType
.HeaderMissingRequiredValue <: HeaderDefect

.NonPrintableDefect: ClassType
.NonPrintableDefect <: HeaderDefect

.ObsoleteHeaderDefect: ClassType
.ObsoleteHeaderDefect <: HeaderDefect

.NonASCIILocalPartDefect: ClassType
.NonASCIILocalPartDefect <: HeaderDefect

.InvalidDateDefect: ClassType
.InvalidDateDefect <: HeaderDefect
7 changes: 7 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/generator.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.Generator: ClassType

.BytesGenerator: ClassType
.BytesGenerator <: .Generator

.DecodeGenerator: ClassType
.DecodeGenerator <: .Generator
39 changes: 39 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/headerregistry.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
.Address: ClassType

.Group: ClassType

.BaseHeader: ClassType

.UnstructuredHeader: ClassType

.UniqueUnstructuredHeader: ClassType
.UniqueUnstructuredHeader <: .UnstructuredHeader

.DateHeader: ClassType

.AddressHeader: ClassType

.UniqueAddressHeader: ClassType
.UniqueAddressHeader <: .AddressHeader

.SingleAddressHeader: ClassType
.SingleAddressHeader <: .AddressHeader

.UniqueSingleAddressHeader: ClassType
.UniqueSingleAddressHeader <: .SingleAddressHeader

.MIMEVersionHeader: ClassType

.ParameterizedMIMEHeader: ClassType

.ContentTypeHeader: ClassType
.ContentTypeHeader <: .ParameterizedMIMEHeader

.ContentDispositionHeader: ClassType
.ContentDispositionHeader <: .ParameterizedMIMEHeader

.ContentTransferEncodingHeader: ClassType

.MessageIDHeader: ClassType

.Headerregistry: ClassType
1 change: 1 addition & 0 deletions crates/erg_compiler/lib/pystd/email.d/message.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.Message!: ClassType
6 changes: 6 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/parser.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.Parser: ClassType
.HeaderParser: ClassType
.HeaderParser <: .Parser
.BytesParser: ClassType
.BytesHeaderParser: ClassType
.BytesHeaderParser <: .BytesParser
7 changes: 7 additions & 0 deletions crates/erg_compiler/lib/pystd/email.d/policy.d.er
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.EmailPolicy: ClassType

.default: .EmailPolicy
.strict: .EmailPolicy
.SMTP: .EmailPolicy
.HTTP: .EmailPolicy
.SMTPUTF8: .EmailPolicy

0 comments on commit f299962

Please sign in to comment.