Coverage report: 84%

Files Functions Classes

coverage.py v7.15.2, created at 2026-08-03 16:04 +0000

File class   statements missing excluded   coverage
src/lektor_ng/__init__.py (no class)   2 0 0   100%
src/lektor_ng/__main__.py (no class)   3 3 0   0%
src/lektor_ng/admin/__init__.py (no class)   2 0 0   100%
src/lektor_ng/admin/context.py LektorInfo   0 0 0   100%
src/lektor_ng/admin/context.py LektorContext   8 0 0   100%
src/lektor_ng/admin/context.py LektorApp   2 0 0   100%
src/lektor_ng/admin/context.py (no class)   39 0 2   100%
src/lektor_ng/admin/modules/__init__.py (no class)   0 0 0   100%
src/lektor_ng/admin/modules/api.py _ServerInfoField   6 0 0   100%
src/lektor_ng/admin/modules/api.py _SchemaBase   0 0 0   100%
src/lektor_ng/admin/modules/api.py _SchemaBase.Meta   0 0 0   100%
src/lektor_ng/admin/modules/api.py _PathAndAlt   0 0 0   100%
src/lektor_ng/admin/modules/api.py _FindParams   0 0 0   100%
src/lektor_ng/admin/modules/api.py _UrlPath   0 0 0   100%
src/lektor_ng/admin/modules/api.py _NewRecordParams   0 0 0   100%
src/lektor_ng/admin/modules/api.py _DeleteRecordParams   0 0 0   100%
src/lektor_ng/admin/modules/api.py _UpdateRawRecordParams   0 0 0   100%
src/lektor_ng/admin/modules/api.py _PublishBuildParams   0 0 0   100%
src/lektor_ng/admin/modules/api.py (no class)   227 0 0   100%
src/lektor_ng/admin/modules/dash.py (no class)   7 0 0   100%
src/lektor_ng/admin/modules/livereload.py (no class)   23 9 2   61%
src/lektor_ng/admin/modules/serve.py LivereloadConfig   3 0 0   100%
src/lektor_ng/admin/modules/serve.py TooldrawerConfig   1 0 0   100%
src/lektor_ng/admin/modules/serve.py HiddenRecordException   2 0 0   100%
src/lektor_ng/admin/modules/serve.py ArtifactServer   43 0 0   100%
src/lektor_ng/admin/modules/serve.py (no class)   106 0 5   100%
src/lektor_ng/admin/utils.py (no class)   12 0 0   100%
src/lektor_ng/admin/webui.py (no class)   35 1 3   97%
src/lektor_ng/assets.py Asset   24 0 0   100%
src/lektor_ng/assets.py Directory   35 0 0   100%
src/lektor_ng/assets.py File   0 0 0   100%
src/lektor_ng/assets.py (no class)   54 0 3   100%
src/lektor_ng/build_programs.py BuildError   0 0 0   100%
src/lektor_ng/build_programs.py SourceInfo   14 2 0   86%
src/lektor_ng/build_programs.py BuildProgram   31 1 0   97%
src/lektor_ng/build_programs.py PageBuildProgram   34 1 0   97%
src/lektor_ng/build_programs.py AttachmentBuildProgram   7 0 0   100%
src/lektor_ng/build_programs.py FileAssetBuildProgram   4 0 0   100%
src/lektor_ng/build_programs.py DirectoryAssetBuildProgram   1 0 0   100%
src/lektor_ng/build_programs.py (no class)   46 0 0   100%
src/lektor_ng/builder.py BuildState   155 35 0   77%
src/lektor_ng/builder.py _ArtifactSourceInfo   1 1 0   0%
src/lektor_ng/builder.py FileInfo   62 2 0   97%
src/lektor_ng/builder.py VirtualSourceInfo   7 2 0   71%
src/lektor_ng/builder.py Artifact   156 26 0   83%
src/lektor_ng/builder.py PathCache   24 2 0   92%
src/lektor_ng/builder.py Builder   111 8 0   93%
src/lektor_ng/builder.py (no class)   159 3 0   98%
src/lektor_ng/buildfailures.py BuildFailure   4 0 0   100%
src/lektor_ng/buildfailures.py FailureController   24 0 0   100%
src/lektor_ng/buildfailures.py (no class)   16 0 0   100%
src/lektor_ng/cli.py (no class)   266 100 0   62%
src/lektor_ng/cli_utils.py AliasedGroup   9 0 0   100%
src/lektor_ng/cli_utils.py Context   39 4 0   90%
src/lektor_ng/cli_utils.py ResolvedPath   3 0 0   100%
src/lektor_ng/cli_utils.py (no class)   35 1 0   97%
src/lektor_ng/compat.py _CompatURL   30 0 0   100%
src/lektor_ng/compat.py (no class)   50 2 0   96%
src/lektor_ng/constants.py (no class)   1 0 0   100%
src/lektor_ng/context.py Context   77 19 0   75%
src/lektor_ng/context.py (no class)   72 6 0   92%
src/lektor_ng/databags.py Databags   35 4 0   89%
src/lektor_ng/databags.py (no class)   23 7 0   70%
src/lektor_ng/datamodel.py ChildConfig   9 0 0   100%
src/lektor_ng/datamodel.py PaginationConfig   59 7 0   88%
src/lektor_ng/datamodel.py AttachmentConfig   9 0 0   100%
src/lektor_ng/datamodel.py Field   19 3 0   84%
src/lektor_ng/datamodel.py DataModel   74 7 0   91%
src/lektor_ng/datamodel.py FlowBlockModel   22 2 0   91%
src/lektor_ng/datamodel.py (no class)   171 4 0   98%
src/lektor_ng/db.py _CmpHelper   34 0 0   100%
src/lektor_ng/db.py Expression   16 13 0   19%
src/lektor_ng/db.py _CallbackExpr   2 2 0   0%
src/lektor_ng/db.py _IsBoolExpr   4 4 0   0%
src/lektor_ng/db.py _Literal   2 0 0   100%
src/lektor_ng/db.py _BinExpr   4 0 0   100%
src/lektor_ng/db.py _ContainmentExpr   7 7 0   0%
src/lektor_ng/db.py _RecordQueryField   5 2 0   60%
src/lektor_ng/db.py _RecordQueryProxy   7 4 0   43%
src/lektor_ng/db.py Record   83 9 0   89%
src/lektor_ng/db.py Siblings   17 0 0   100%
src/lektor_ng/db.py Page   99 6 0   94%
src/lektor_ng/db.py Attachment   16 1 0   94%
src/lektor_ng/db.py Image   22 3 0   86%
src/lektor_ng/db.py Video   22 22 0   0%
src/lektor_ng/db.py VideoFrame   14 14 0   0%
src/lektor_ng/db.py Query   108 10 0   91%
src/lektor_ng/db.py EmptyQuery   2 2 0   0%
src/lektor_ng/db.py AttachmentsQuery   8 3 0   62%
src/lektor_ng/db.py Database   136 11 0   92%
src/lektor_ng/db.py Pad   130 16 0   88%
src/lektor_ng/db.py TreeItem   72 0 0   100%
src/lektor_ng/db.py Alt   6 0 0   100%
src/lektor_ng/db.py Tree   25 4 0   84%
src/lektor_ng/db.py RecordCache   36 3 0   92%
src/lektor_ng/db.py (no class)   417 10 3   98%
src/lektor_ng/devcli.py (no class)   49 18 0   63%
src/lektor_ng/devserver.py BackgroundBuilder   25 25 0   0%
src/lektor_ng/devserver.py BindAddr   0 0 0   100%
src/lektor_ng/devserver.py (no class)   44 19 3   57%
src/lektor_ng/editor.py BadEdit   0 0 0   100%
src/lektor_ng/editor.py BadDelete   0 0 0   100%
src/lektor_ng/editor.py EditorSession   139 56 0   60%
src/lektor_ng/editor.py EditorData   29 0 0   100%
src/lektor_ng/editor.py MutableEditorData   12 0 0   100%
src/lektor_ng/editor.py (no class)   143 0 0   100%
src/lektor_ng/environment/__init__.py CustomJinjaEnvironment   18 3 0   83%
src/lektor_ng/environment/__init__.py Environment   107 28 0   74%
src/lektor_ng/environment/__init__.py (no class)   89 0 5   100%
src/lektor_ng/environment/config.py ServerInfo   13 1 0   92%
src/lektor_ng/environment/config.py Config   78 9 0   88%
src/lektor_ng/environment/config.py (no class)   60 1 0   98%
src/lektor_ng/environment/expressions.py Expression   10 0 0   100%
src/lektor_ng/environment/expressions.py FormatExpression   4 0 0   100%
src/lektor_ng/environment/expressions.py (no class)   6 0 0   100%
src/lektor_ng/exception.py LektorException   7 3 0   57%
src/lektor_ng/exception.py (no class)   5 0 0   100%
src/lektor_ng/filecontents.py FileContents   46 41 0   11%
src/lektor_ng/filecontents.py (no class)   26 0 0   100%
src/lektor_ng/i18n.py (no class)   48 2 0   96%
src/lektor_ng/imagetools/__init__.py (no class)   12 0 0   100%
src/lektor_ng/imagetools/_compat.py (no class)   20 7 0   65%
src/lektor_ng/imagetools/exif.py EXIFInfo   60 1 0   98%
src/lektor_ng/imagetools/exif.py (no class)   152 2 3   99%
src/lektor_ng/imagetools/image_info.py SvgImageInfo   0 0 0   100%
src/lektor_ng/imagetools/image_info.py PILImageInfo   0 0 0   100%
src/lektor_ng/imagetools/image_info.py UnknownImageInfo   0 0 0   100%
src/lektor_ng/imagetools/image_info.py TiffOrientation   1 0 0   100%
src/lektor_ng/imagetools/image_info.py BadSvgFile   0 0 0   100%
src/lektor_ng/imagetools/image_info.py (no class)   90 1 3   99%
src/lektor_ng/imagetools/thumbnail.py ThumbnailMode   0 0 0   100%
src/lektor_ng/imagetools/thumbnail.py _FormatInfo   15 0 0   100%
src/lektor_ng/imagetools/thumbnail.py _GifFormatInfo   0 0 0   100%
src/lektor_ng/imagetools/thumbnail.py _PngFormatInfo   6 0 0   100%
src/lektor_ng/imagetools/thumbnail.py _JpegFormatInfo   6 0 0   100%
src/lektor_ng/imagetools/thumbnail.py ImageSize   0 0 0   100%
src/lektor_ng/imagetools/thumbnail.py ThumbnailParams   9 0 0   100%
src/lektor_ng/imagetools/thumbnail.py CropBox   0 0 0   100%
src/lektor_ng/imagetools/thumbnail.py Thumbnail   1 0 0   100%
src/lektor_ng/imagetools/thumbnail.py (no class)   175 1 4   99%
src/lektor_ng/inifile.py IniFile   45 5 0   89%
src/lektor_ng/inifile.py (no class)   32 0 0   100%
src/lektor_ng/markdown/__init__.py Markdown   25 0 0   100%
src/lektor_ng/markdown/__init__.py (no class)   47 2 4   96%
src/lektor_ng/markdown/controller.py _Threadlocal   0 0 0   100%
src/lektor_ng/markdown/controller.py RendererContext   4 0 0   100%
src/lektor_ng/markdown/controller.py RendererHelper   16 0 0   100%
src/lektor_ng/markdown/controller.py UnknownPluginError   0 0 0   100%
src/lektor_ng/markdown/controller.py RenderResult   0 0 0   100%
src/lektor_ng/markdown/controller.py MarkdownController   12 0 0   100%
src/lektor_ng/markdown/controller.py ControllerCache   8 0 0   100%
src/lektor_ng/markdown/controller.py (no class)   50 0 2   100%
src/lektor_ng/markdown/mistune0.py ImprovedRenderer   10 0 0   100%
src/lektor_ng/markdown/mistune0.py MarkdownConfig   6 0 0   100%
src/lektor_ng/markdown/mistune0.py MarkdownController0   6 0 0   100%
src/lektor_ng/markdown/mistune0.py (no class)   23 0 0   100%
src/lektor_ng/markdown/mistune2.py ImprovedRenderer   4 4 0   0%
src/lektor_ng/markdown/mistune2.py ParserConfigDict   0 0 0   100%
src/lektor_ng/markdown/mistune2.py MarkdownConfig   7 7 0   0%
src/lektor_ng/markdown/mistune2.py MarkdownController2   24 24 0   0%
src/lektor_ng/markdown/mistune2.py (no class)   26 26 0   0%
src/lektor_ng/metaformat.py (no class)   71 9 0   87%
src/lektor_ng/packages.py VirtualEnv   15 0 0   100%
src/lektor_ng/packages.py Requirements   17 0 0   100%
src/lektor_ng/packages.py (no class)   110 39 3   65%
src/lektor_ng/pagination.py Pagination   34 1 0   97%
src/lektor_ng/pagination.py (no class)   20 0 0   100%
src/lektor_ng/pluginsystem.py Plugin   42 1 1   98%
src/lektor_ng/pluginsystem.py PluginController   29 0 0   100%
src/lektor_ng/pluginsystem.py (no class)   64 0 0   100%
src/lektor_ng/project.py Project   75 18 0   76%
src/lektor_ng/project.py Project.PackageCacheType   0 0 0   100%
src/lektor_ng/project.py (no class)   33 0 0   100%
src/lektor_ng/publisher.py PublishError   0 0 0   100%
src/lektor_ng/publisher.py Command   58 0 0   100%
src/lektor_ng/publisher.py Publisher   4 1 0   75%
src/lektor_ng/publisher.py RsyncPublisher   27 1 0   96%
src/lektor_ng/publisher.py FtpConnection   131 131 0   0%
src/lektor_ng/publisher.py FtpTlsConnection   6 6 0   0%
src/lektor_ng/publisher.py FtpPublisher   84 84 0   0%
src/lektor_ng/publisher.py FtpTlsPublisher   0 0 0   100%
src/lektor_ng/publisher.py GitRepo   55 1 0   98%
src/lektor_ng/publisher.py GithubPagesPublisher   42 0 0   100%
src/lektor_ng/publisher.py _CompatURLStr   6 0 0   100%
src/lektor_ng/publisher.py (no class)   133 0 4   100%
src/lektor_ng/quickstart.py Generator   59 9 0   85%
src/lektor_ng/quickstart.py (no class)   135 29 0   79%
src/lektor_ng/reporter.py Reporter   74 10 0   86%
src/lektor_ng/reporter.py NullReporter   0 0 0   100%
src/lektor_ng/reporter.py BufferReporter   35 6 0   83%
src/lektor_ng/reporter.py CliReporter   58 27 0   53%
src/lektor_ng/reporter.py (no class)   126 0 0   100%
src/lektor_ng/sourceobj.py SourceObject   68 6 0   91%
src/lektor_ng/sourceobj.py DBSourceObject   7 1 0   86%
src/lektor_ng/sourceobj.py VirtualSourceObject   8 5 0   38%
src/lektor_ng/sourceobj.py (no class)   60 0 2   100%
src/lektor_ng/sourcesearch.py (no class)   82 8 0   90%
src/lektor_ng/types/__init__.py (no class)   25 0 0   100%
src/lektor_ng/types/base.py BadValue   0 0 0   100%
src/lektor_ng/types/base.py RawValue   9 1 0   89%
src/lektor_ng/types/base.py _NameDescriptor   3 0 0   100%
src/lektor_ng/types/base.py Type   14 3 0   79%
src/lektor_ng/types/base.py (no class)   31 6 0   81%
src/lektor_ng/types/fake.py FakeType   4 4 0   0%
src/lektor_ng/types/fake.py LineType   0 0 0   100%
src/lektor_ng/types/fake.py SpacingType   0 0 0   100%
src/lektor_ng/types/fake.py InfoType   0 0 0   100%
src/lektor_ng/types/fake.py HeadingType   3 3 0   0%
src/lektor_ng/types/fake.py (no class)   15 0 0   100%
src/lektor_ng/types/flow.py BadFlowBlock   0 0 0   100%
src/lektor_ng/types/flow.py FlowBlock   28 6 0   79%
src/lektor_ng/types/flow.py Flow   5 2 0   60%
src/lektor_ng/types/flow.py FlowDescriptor   5 1 0   80%
src/lektor_ng/types/flow.py FlowType   29 2 0   93%
src/lektor_ng/types/flow.py (no class)   76 18 0   76%
src/lektor_ng/types/formats.py MarkdownDescriptor   5 1 0   80%
src/lektor_ng/types/formats.py MarkdownType   3 0 0   100%
src/lektor_ng/types/formats.py (no class)   15 0 0   100%
src/lektor_ng/types/multi.py ChoiceSource   35 35 0   0%
src/lektor_ng/types/multi.py MultiType   7 7 0   0%
src/lektor_ng/types/multi.py SelectType   3 3 0   0%
src/lektor_ng/types/multi.py CheckboxesType   4 4 0   0%
src/lektor_ng/types/multi.py (no class)   53 31 0   42%
src/lektor_ng/types/primitives.py SingleInputType   3 0 0   100%
src/lektor_ng/types/primitives.py StringType   6 0 0   100%
src/lektor_ng/types/primitives.py StringsType   1 0 0   100%
src/lektor_ng/types/primitives.py TextType   3 0 0   100%
src/lektor_ng/types/primitives.py HtmlType   3 3 0   0%
src/lektor_ng/types/primitives.py IntegerType   9 0 0   100%
src/lektor_ng/types/primitives.py FloatType   6 0 0   100%
src/lektor_ng/types/primitives.py BooleanType   9 0 0   100%
src/lektor_ng/types/primitives.py DateType   6 2 0   67%
src/lektor_ng/types/primitives.py DateTimeType   31 3 0   90%
src/lektor_ng/types/primitives.py (no class)   38 0 0   100%
src/lektor_ng/types/special.py SortKeyType   6 6 0   0%
src/lektor_ng/types/special.py SlugType   3 0 0   100%
src/lektor_ng/types/special.py UrlType   3 1 0   67%
src/lektor_ng/types/special.py (no class)   11 0 0   100%
src/lektor_ng/utils.py JSONEncoder   9 9 0   0%
src/lektor_ng/utils.py Url   11 0 0   100%
src/lektor_ng/utils.py URLBuilder   16 0 0   100%
src/lektor_ng/utils.py RecursionCheck   3 0 0   100%
src/lektor_ng/utils.py DeprecatedWarning   9 0 0   100%
src/lektor_ng/utils.py _Deprecate   11 0 0   100%
src/lektor_ng/utils.py (no class)   486 96 60   80%
src/lektor_ng/version.py (no class)   8 1 0   88%
src/lektor_ng/videotools.py Dimensions   43 6 0   86%
src/lektor_ng/videotools.py (no class)   111 66 0   41%
src/lektor_ng/watcher.py WatchFilter   5 0 0   100%
src/lektor_ng/watcher.py (no class)   14 0 3   100%
Total     8641 1407 115   84%

No items found using the specified filter.